<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;

// ══════════════════════════════════════════════════════════════════
//  InPractice — Sales Cases: Account Management II
//  Topic: account_management | 5 Cases | Sales Hub
//  Hub ID: 3 | Created by: 2 (Mahmoud - admin)
//  Run standalone: php artisan db:seed --class=SalesCaseSeeder_04
// ══════════════════════════════════════════════════════════════════

class SalesCaseSeeder_04 extends Seeder
{
    public function run(): void
    {
        $now     = Carbon::now();
        $hubId   = 3;
        $adminId = 2;

        $cases = [

            // ── S04-01 ─────────────────────────────────────────
            [
                'hub_id'                 => $hubId,
                'created_by'             => $adminId,
                'topic_slug'             => 'account_management',
                'topic_name_en'          => 'Account Management',
                'topic_name_ar'          => 'إدارة الحسابات',
                'layer'                  => 'generic',
                'difficulty'             => 'beginner',
                'sort_order'             => 16,
                'status'                 => 'published',
                'published_at'           => $now,
                'read_time_minutes'      => 11,
                'title_en'               => 'The Angry Email at 8am',
                'subtitle_en'            => 'How to handle a client complaint without losing the account',
                'situation_en'           => 'You are an account manager at Vertex Logistics, a freight and warehousing company in Cairo. You manage the account of Oasis Home Furniture — a mid-sized retailer that ships approximately 400 orders per month through your network.

It is Monday morning. At 8:04am you receive this email from Sherif Kamal, the operations director at Oasis:

"I have been patient for three months. Last Thursday four deliveries arrived at customers with damaged packaging. Two customers refused the delivery entirely. One of those customers posted on Facebook and we have 14 angry comments now. I am copying our MD on this email. We have been with Vertex for two years and this is not the first time. I want a meeting today. If I do not hear back by 11am I am calling three other logistics companies this afternoon."

You check your records. The four damaged deliveries happened. The root cause was a loading error at your warehouse on Wednesday night. Your operations team knows about it but no one called Oasis.',
                'challenge_questions_en' => json_encode([
                    'What are the three mistakes Vertex already made before this email arrived — and which one is the most damaging?',
                    'You have until 11am. Write the exact reply you send to Sherif right now — before you have all the answers.',
                    'The meeting happens at 2pm today. You, your operations manager, and Sherif and his MD are in the room. Structure the meeting: what do you say, in what order, and what do you commit to?',
                    'Sherif mentioned "this is not the first time." How does that change what you need to do beyond fixing this specific incident?',
                ], JSON_UNESCAPED_UNICODE),
                'solution_en'            => 'THE THREE MISTAKES VERTEX ALREADY MADE:

Mistake 1 — The loading error happened and no one called Oasis (most damaging)
Your operations team knew about the error on Wednesday night. Four deliveries went out damaged on Thursday. No one called Oasis. This means Sherif found out from his customers — which is the worst possible way for a client to discover a supplier problem. The damage to trust is not the four deliveries. It is the silence.

Mistake 2 — Three months of patience consumed before this eruption
Sherif says he has been patient for three months. This is not his first complaint. Vertex had multiple signals that this account was unhappy and no one escalated, investigated, or called a meeting. The account was being managed reactively — fire after fire — rather than proactively.

Mistake 3 — The social media damage was preventable
Four damaged deliveries escalated to a Facebook post with 14 comments because no one at Oasis was given the information to manage the customer quickly. If Vertex had called Oasis on Wednesday night, Oasis could have contacted those customers before delivery and managed the situation. The reputational damage is a direct consequence of the silence.

YOUR 11AM REPLY — EXACT TEXT:

"Sherif, I have read your email and I understand completely. I am not going to ask you to wait for an investigation before I respond. Four deliveries arrived damaged. Two customers refused. Your brand took a hit on social media. That is unacceptable and I take full responsibility.

I have spoken to our operations manager. We know what happened and I want to explain it to you and your MD directly — not by email.

Can we meet at your office at 2pm today? I will be there with our operations manager and a specific plan, not just an apology.

I will call you in 10 minutes to confirm."

Why this works:
— You respond in under 3 hours (before the 11am deadline)
— You acknowledge the facts without hiding behind an investigation
— You take personal responsibility before the meeting
— You propose action (meeting + plan), not just words
— You commit to a phone call — which is faster and more human than email

THE 2PM MEETING STRUCTURE:

Minute 0-5: Acknowledge, do not defend
"Mr. [MD name], Sherif — I want to start by saying clearly: what happened last week was our failure. Four deliveries were damaged due to a loading error at our warehouse on Wednesday night. Our team knew about it that evening and did not call you. That silence made everything worse. I am here to take responsibility and to show you specifically what we are doing about it."

Minute 5-15: The operations manager explains the root cause
Factual, specific, no jargon. What happened, why, and what the immediate fix is. No passive language ("mistakes were made") — only active ownership ("our team did X, which caused Y").

Minute 15-25: Your recovery commitment — three specifics
1. Immediate: you personally will call the two customers who refused delivery today and offer a replacement delivery at no charge. You handle this — not Oasis.
2. 30-day fix: weekly ops review call every Monday at 9am between your ops manager and Sherif — 15 minutes, standing agenda.
3. Structural: a loading quality checklist implemented at the warehouse for all Oasis consignments, with a signed-off copy sent to Sherif for every outbound batch.

Minute 25-30: Give Sherif and the MD the floor
"I have told you what we will do. I want to hear from you — what else do you need from us to feel confident this will not happen again?"

Then stop talking. Listen. Whatever they say is your retention roadmap.

ON "THIS IS NOT THE FIRST TIME":
This phrase tells you the account is on the edge. One more incident and they leave. Your recovery plan must include a formal account health review — a structured monthly meeting that makes problems visible before they become crises. Propose it explicitly: "I also want to propose a monthly account review — 30 minutes, standing agenda — so that anything trending in the wrong direction gets caught early. I should have been in front of you before last week."',
                'bigger_lesson_en'       => 'The worst thing you can do when a delivery goes wrong is say nothing. Clients do not leave because problems happen — problems happen everywhere. They leave because they found out from their own customers instead of from you, and because no one took personal ownership when it mattered. Call the client before they call you. Always.',
                'skills_taught_en'       => json_encode([
                    'Complaint response under time pressure',
                    'Acknowledgement without defence in a crisis meeting',
                    'Structuring a recovery commitment with three specifics',
                    'Reading churn risk signals in complaint language',
                    'Proactive account health reviews as a retention tool',
                ], JSON_UNESCAPED_UNICODE),
                'title_ar'               => 'البريد الغاضب في الثامنة صباحاً',
                'subtitle_ar'            => 'كيف تتعامل مع شكوى عميل دون خسارة الحساب',
                'situation_ar'           => 'أنت مدير حسابات في شركة فيرتكس للخدمات اللوجستية، شركة شحن وتخزين في القاهرة. تدير حساب أواسيس لأثاث المنازل — متجر تجزئة متوسط الحجم يشحن حوالي 400 طلب شهرياً عبر شبكتك.

صباح الاثنين. الساعة 8:04 تصلك هذا البريد من شريف كمال، مدير العمليات في أواسيس:

"صبرت ثلاثة أشهر. الخميس الماضي وصلت أربع شحنات للعملاء بتغليف تالف. رفض عميلان الاستلام كلياً. نشر أحدهم على فيسبوك ولدينا الآن 14 تعليقاً غاضباً. أنسخ مديرنا العام على هذا البريد. معنا فيرتكس منذ عامين وهذه ليست المرة الأولى. أريد اجتماعاً اليوم. إن لم أسمع رداً قبل الحادية عشرة صباحاً، سأتصل بثلاث شركات لوجستيات أخرى بعد الظهر."

تتحقق من سجلاتك. الشحنات الأربع التالفة حدثت. السبب كان خطأ في التحميل بمستودعك ليلة الأربعاء. فريق العمليات يعلم لكن أحداً لم يتصل بأواسيس.',
                'challenge_questions_ar' => json_encode([
                    'ما الأخطاء الثلاثة التي ارتكبتها فيرتكس قبل وصول هذا البريد — وأيها الأكثر ضرراً؟',
                    'لديك حتى الحادية عشرة صباحاً. اكتب الرد الدقيق الذي سترسله لشريف الآن — قبل أن تملك كل الإجابات.',
                    'يحدث الاجتماع الساعة الثانية بعد الظهر. أنت ومدير العمليات وشريف ومديره العام في الغرفة. هيكل الاجتماع: ماذا تقول وبأي ترتيب وبم تلتزم؟',
                    'ذكر شريف "هذه ليست المرة الأولى." كيف يغير ذلك ما تحتاج فعله بعيداً عن إصلاح هذه الحادثة تحديداً؟',
                ], JSON_UNESCAPED_UNICODE),
                'solution_ar'            => 'الأخطاء الثلاثة التي ارتكبتها فيرتكس:

الخطأ الأول — حدث خطأ التحميل ولم يتصل أحد بأواسيس (الأكثر ضرراً)
فريق العمليات علم بالخطأ ليلة الأربعاء. خرجت أربع شحنات تالفة يوم الخميس. لم يتصل أحد بأواسيس. هذا يعني أن شريف علم من عملائه — وهو أسوأ طريقة ممكنة لاكتشاف العميل مشكلة مورّده. الضرر الحقيقي ليس الشحنات الأربع. إنه الصمت.

الخطأ الثاني — ثلاثة أشهر من الصبر استُهلكت قبل هذا الانفجار
يقول شريف إنه صبر ثلاثة أشهر. هذه ليست أول شكوى. كانت لدى فيرتكس إشارات متعددة على عدم رضا هذا الحساب ولم يصعّد أحد أو يحقق أو يطلب اجتماعاً. كان الحساب يُدار بشكل تفاعلي — حريق بعد حريق — لا بشكل استباقي.

الخطأ الثالث — الضرر على السوشيال ميديا كان يمكن تفاديه
تصاعدت أربع شحنات تالفة إلى منشور فيسبوك بـ 14 تعليقاً لأن أحداً في أواسيس لم يُعطَ المعلومات لإدارة العملاء بسرعة. لو اتصلت فيرتكس بأواسيس ليلة الأربعاء، لاستطاع أواسيس التواصل مع العملاء قبل التسليم وإدارة الوضع. الضرر السمعي نتيجة مباشرة للصمت.

ردك قبل الحادية عشرة — النص الدقيق:

"شريف، قرأت بريدك وأفهم تماماً. لن أطلب منك الانتظار ريثما أجري تحقيقاً قبل أن أردّ. وصلت أربع شحنات تالفة. رفض عميلان الاستلام. تضرّرت سمعة علامتك على السوشيال ميديا. هذا غير مقبول وأتحمل المسؤولية الكاملة.

تحدّثت مع مدير العمليات. نعرف ما الذي حدث وأريد شرحه لك ولمديرك العام مباشرة — لا بالبريد.

هل يمكننا الاجتماع في مكتبكم الساعة الثانية بعد الظهر اليوم؟ سأكون هناك مع مدير العمليات وخطة محددة، لا مجرد اعتذار.

سأتصل بك خلال 10 دقائق للتأكيد."

لماذا ينجح هذا:
— ترد خلال أقل من 3 ساعات (قبل الموعد النهائي للحادية عشرة)
— تُقرّ بالوقائع دون الاختباء خلف تحقيق
— تتحمل المسؤولية الشخصية قبل الاجتماع
— تقترح إجراءً (اجتماع + خطة) لا مجرد كلام
— تلتزم بمكالمة هاتفية — أسرع وأكثر إنسانية من البريد

هيكل اجتماع الثانية بعد الظهر:

الدقائق 0-5: أقرّ، لا تدافع
"سيادة [اسم المدير العام]، شريف — أريد البدء بقول شيء بوضوح: ما حدث الأسبوع الماضي كان إخفاقنا. تضرّرت أربع شحنات بسبب خطأ تحميل في مستودعنا ليلة الأربعاء. فريقنا علم بذلك تلك الليلة ولم يتصل بكم. هذا الصمت جعل كل شيء أسوأ. أنا هنا لأتحمل المسؤولية وأُريكم ما نفعله تحديداً حيال ذلك."

الدقائق 5-15: مدير العمليات يشرح السبب الجذري
واقعي، محدد، بلا مصطلحات مبهمة. ما الذي حدث، لماذا، وما الإصلاح الفوري. لا لغة سلبية ("حدثت أخطاء") — فقط تملّك نشط ("فريقنا فعل X مما أدى إلى Y").

الدقائق 15-25: التزامك بالتعافي — ثلاثة أمور محددة
1. فوري: أنت شخصياً ستتصل بالعميلين اللذين رفضا التسليم اليوم وتعرض إعادة التسليم مجاناً. أنت تتولى هذا — لا أواسيس.
2. إصلاح خلال 30 يوماً: مكالمة مراجعة عمليات أسبوعية كل اثنين الساعة التاسعة صباحاً بين مدير العمليات وشريف — 15 دقيقة، أجندة ثابتة.
3. هيكلي: قائمة تحقق لجودة التحميل في المستودع لجميع شحنات أواسيس، مع نسخة موقّعة ترسل لشريف لكل دفعة صادرة.

الدقائق 25-30: أعطِ شريف والمدير العام الكلمة
"أخبرتكم ما سنفعله. أريد سماعكم — ماذا تحتاجون منا أيضاً لتشعروا بالثقة أن هذا لن يتكرر؟"

ثم توقف عن الكلام. استمع. ما يقولونه هو خارطة طريق الاحتفاظ بكم.

بشأن "هذه ليست المرة الأولى":
هذه العبارة تخبرك أن الحساب على الحافة. حادثة أخرى ويغادرون. يجب أن تتضمن خطة التعافي مراجعة صحة الحساب الرسمية — اجتماع شهري منظّم يجعل المشكلات مرئية قبل أن تصبح أزمات. اقترحها صراحةً: "أريد أيضاً اقتراح مراجعة حساب شهرية — 30 دقيقة، أجندة ثابتة — حتى يُرصد أي شيء يتجه بالاتجاه الخاطئ مبكراً. كان يجب أن أكون أمامك قبل الأسبوع الماضي."',
                'bigger_lesson_ar'       => 'أسوأ شيء تفعله حين تسوء الشحنة هو الصمت. العملاء لا يغادرون لأن المشكلات تحدث — المشكلات تحدث في كل مكان. يغادرون لأنهم علموا من عملائهم لا منك، ولأن أحداً لم يتحمل مسؤولية شخصية حين أهمّ. اتصل بالعميل قبل أن يتصل بك. دائماً.',
                'skills_taught_ar'       => json_encode([
                    'الرد على الشكاوى تحت ضغط الوقت',
                    'الاعتراف دون دفاع في اجتماع الأزمة',
                    'هيكلة التزام التعافي بثلاثة أمور محددة',
                    'قراءة إشارات خطر المغادرة في لغة الشكاوى',
                    'مراجعات صحة الحساب الاستباقية كأداة للاحتفاظ',
                ], JSON_UNESCAPED_UNICODE),
                'case_data'  => null,
                'created_at' => $now,
                'updated_at' => $now,
            ],

            // ── S04-02 ─────────────────────────────────────────
            [
                'hub_id'                 => $hubId,
                'created_by'             => $adminId,
                'topic_slug'             => 'account_management',
                'topic_name_en'          => 'Account Management',
                'topic_name_ar'          => 'إدارة الحسابات',
                'layer'                  => 'sector_specific',
                'difficulty'             => 'intermediate',
                'sort_order'             => 17,
                'status'                 => 'published',
                'published_at'           => $now,
                'read_time_minutes'      => 13,
                'title_en'               => 'The Telecom Client Who Already Signed Elsewhere',
                'subtitle_en'            => 'Recovering a churned enterprise account after losing to a competitor',
                'situation_en'           => 'You are a key account manager at Connect Business Solutions, selling enterprise mobile and data plans to corporate clients. Twelve months ago you lost one of your top accounts — Masr Trading Group, a diversified trading company with 520 employees.

The history:
- Masr Trading had been with you for 3 years
- Annual contract value: EGP 2.1 million
- Why they left: their new CFO ran a competitive tender, Vodafone Business offered a 14% lower price, and your renewal proposal arrived two weeks late
- When they left, the procurement manager Amira told you: "It was not personal. The numbers just made sense."

It is now 12 months later. You have just heard from a mutual contact that Masr Trading is having serious problems with Vodafone Business: network coverage gaps at their Delta warehouses, a billing dispute that has been unresolved for 4 months, and their dedicated account manager changed twice in one year.

Your window: their contract with Vodafone Business has 5 months remaining.',
                'challenge_questions_en' => json_encode([
                    'You lost this account on price and process failure. How do you approach a win-back without it looking desperate or opportunistic?',
                    'What do you know about Masr Trading now that you did not know when you lost them — and how does that change your approach?',
                    'Design your win-back contact strategy: who do you contact, when, with what message, and in what sequence?',
                    'If you win them back, what do you change in how you manage this account to make sure you do not lose them again in 12 months?',
                ], JSON_UNESCAPED_UNICODE),
                'solution_en'            => 'HOW TO APPROACH WITHOUT LOOKING DESPERATE:

The worst win-back move is to contact Masr Trading the moment you hear they are unhappy and say "we heard you are having problems — come back to us." This signals that you were monitoring their situation and waiting for them to be vulnerable. It feels predatory, not professional.

The correct framing: you are not reacting to their problems. You are proactively reaching out because the timing is right for a conversation that is in their interest — regardless of how their current contract is going.

WHAT YOU KNOW NOW THAT YOU DID NOT KNOW BEFORE:

When you lost the account, you knew: they were price-sensitive, the CFO drives decisions, and your renewal process was too slow.

What you know now:
- The pain points: Delta warehouse coverage, billing dispute unresolved for 4 months, two account manager changes
- The CFO is still the decision-maker — and a CFO who switched for price savings is now experiencing operational problems. His calculus has changed.
- Amira (procurement) is still there — she said "it was not personal." She is your re-entry point.
- The contract has exactly 5 months left — which means a renewal conversation starts internally at Masr Trading in the next 4-6 weeks.

YOUR WIN-BACK CONTACT STRATEGY:

Step 1 — Contact Amira first (not the CFO), Week 1
Do not mention Vodafone. Do not mention their problems. Do not mention the lost account.

Message: "Amira, I have been thinking about Masr Trading recently. We worked together for three years and I always respected how professionally you ran your procurement process. I know the timing is not right now — you are mid-contract. But I would like to stay in touch and, when the time comes to review your telecoms setup, I would like the chance to show you what we have built in the last year — particularly our Delta region coverage, which has improved significantly. No pitch, no urgency. Just wanted to keep the door open."

This does three things:
- It respects the existing contract (professional)
- It pre-plants the Delta coverage point (addresses their known pain without naming it)
- It positions you as patient and confident — not chasing

Step 2 — One value-add touch per month for 3 months
Send Amira something genuinely useful each month: a benchmark report on enterprise mobile costs in Egypt, a brief on the new CBE digital payment regulations affecting trading companies, a case study of a similar company that improved warehouse operations through IoT SIMs. No selling. Just staying relevant.

Step 3 — The CFO approach, Month 4
By month 4, their contract renewal decision is imminent internally. Now contact the CFO directly:
"Mr. [Name], I wanted to reach out directly. We worked with Masr Trading for three years and I have always respected how seriously you take the commercial decisions. As you approach your next telecom review, I would like 30 minutes to present what Connect has built — particularly our enterprise SLA guarantee and our Delta region infrastructure, which I understand is important to your warehouse operations. I am not asking you to switch. I am asking for 30 minutes to let the numbers speak."

The "let the numbers speak" line mirrors how the CFO thinks and echoes Amira\'s original departure language.

WHAT YOU CHANGE IF YOU WIN THEM BACK:

The two reasons you lost: slow renewal process and price.

Fix 1: Set a renewal calendar alert 6 months before contract end — not 2 weeks before.
Fix 2: Assign a named backup account manager so that if you leave, the relationship does not leave with you.
Fix 3: Conduct a quarterly business review every 3 months — make the value visible before the renewal conversation, not during it.
Fix 4: Build a relationship with the CFO directly, not just procurement. The CFO made the decision to leave. He needs to know you personally.',
                'bigger_lesson_en'       => 'Lost accounts are not closed files. They are future opportunities with a known contact list, a known pain history, and a known decision-making structure. The account manager who recovers churned clients is the one who stays professionally visible during the competitor contract, reaches out before the renewal window opens, and addresses the original loss reasons before being asked. Never let a lost account go cold.',
                'skills_taught_en'       => json_encode([
                    'Win-back strategy for churned enterprise accounts',
                    'Re-entry sequencing — procurement before C-suite',
                    'Value-add nurturing during a competitor contract',
                    'Addressing original churn reasons in recovery pitch',
                    'Structural account management changes to prevent repeat churn',
                ], JSON_UNESCAPED_UNICODE),
                'title_ar'               => 'عميل الاتصالات الذي وقّع في مكان آخر',
                'subtitle_ar'            => 'استعادة حساب مؤسسي فقدته بعد خسارته لمنافس',
                'situation_ar'           => 'أنت مدير حسابات رئيسية في كونكت لحلول الأعمال، تبيع خطط هواتف وبيانات مؤسسية لعملاء الشركات. قبل اثني عشر شهراً خسرت أحد أهم حساباتك — مجموعة مصر للتجارة، شركة تجارة متنوعة بـ 520 موظفاً.

التاريخ:
- كانت مجموعة مصر معك 3 سنوات
- قيمة العقد السنوي: 2.1 مليون جنيه
- سبب المغادرة: مديرهم المالي الجديد أجرى عطاءً تنافسياً، وعرضت فودافون بيزنس سعراً أقل بـ 14%، ووصل عرض التجديد الخاص بك متأخراً أسبوعين
- حين غادروا، أخبرتك مسؤولة المشتريات أميرة: "لم يكن شخصياً. الأرقام كانت منطقية فحسب."

الآن بعد 12 شهراً. علمت للتو من معرفة مشتركة أن مجموعة مصر تعاني مشكلات جدية مع فودافون بيزنس: ثغرات في تغطية الشبكة بمستودعاتهم في الدلتا، نزاع فواتير لم يُحسم منذ 4 أشهر، وتغيّر مدير حسابهم المخصص مرتين في عام واحد.

نافذتك: تبقّى لعقدهم مع فودافون بيزنس 5 أشهر.',
                'challenge_questions_ar' => json_encode([
                    'خسرت هذا الحساب بسبب السعر وإخفاق العملية. كيف تتعامل مع استعادته دون أن يبدو الأمر يائساً أو انتهازياً؟',
                    'ما الذي تعرفه عن مجموعة مصر الآن لم تكن تعرفه حين فقدتهم — وكيف يغير ذلك نهجك؟',
                    'صمّم استراتيجية التواصل لاستعادتهم: من تتصل به ومتى وبأي رسالة وبأي تسلسل؟',
                    'إن استعدتهم، ما الذي تغيّره في كيفية إدارة هذا الحساب لضمان عدم خسارته مرة أخرى بعد 12 شهراً؟',
                ], JSON_UNESCAPED_UNICODE),
                'solution_ar'            => 'كيف تتعامل دون أن تبدو يائساً:

أسوأ خطوة لاستعادة الحساب هي التواصل مع مجموعة مصر في اللحظة التي تسمع فيها أنهم غير سعداء وقول "سمعنا أنكم تواجهون مشكلات — عودوا إلينا." هذا يُشير إلى أنك كنت تراقب وضعهم وتنتظر ضعفهم. يبدو افتراسياً لا احترافياً.

التأطير الصحيح: أنت لا تتفاعل مع مشكلاتهم. أنت تتواصل استباقياً لأن التوقيت مناسب لمحادثة في مصلحتهم — بغض النظر عن كيفية سير عقدهم الحالي.

ما تعرفه الآن لم تكنه تعرفه من قبل:

حين خسرت الحساب، كنت تعرف: أنهم حساسون للسعر، والمدير المالي يقود القرارات، وعملية التجديد لديك كانت بطيئة.

ما تعرفه الآن:
- نقاط الألم: تغطية مستودعات الدلتا، نزاع فواتير لم يُحسم 4 أشهر، تغيير مديري حسابات مرتين
- المدير المالي لا يزال صاحب القرار — ومدير مالي انتقل طلباً للتوفير في السعر يعاني الآن مشكلات تشغيلية. حساباته تغيّرت.
- أميرة (المشتريات) لا تزال هناك — قالت "لم يكن شخصياً." هي نقطة دخولك.
- تبقّى للعقد 5 أشهر بالضبط — مما يعني أن محادثة التجديد تبدأ داخلياً في مجموعة مصر خلال 4-6 أسابيع.

استراتيجية التواصل لاستعادة الحساب:

الخطوة الأولى — تواصل مع أميرة أولاً (لا المدير المالي)، الأسبوع الأول
لا تذكر فودافون. لا تذكر مشكلاتهم. لا تذكر الحساب المفقود.

الرسالة: "أميرة، كنت أفكر في مجموعة مصر مؤخراً. عملنا معاً ثلاث سنوات وكنت دائماً أقدّر احترافيتك في إدارة عملية المشتريات. أعلم أن التوقيت غير مناسب الآن — أنتم في منتصف عقد. لكن أريد البقاء على تواصل، وحين يحين وقت مراجعة منظومتكم للاتصالات، أريد فرصة لأريكم ما بنيناه في العام الماضي — خاصة تغطيتنا في منطقة الدلتا التي تحسّنت بشكل ملحوظ. لا عرض، لا إلحاح. أردت فقط إبقاء الباب مفتوحاً."

هذا يفعل ثلاثة أشياء:
- يحترم العقد القائم (احترافي)
- يزرع مسبقاً نقطة تغطية الدلتا (يتناول ألمهم المعروف دون تسميته)
- يضعك صبوراً وواثقاً — لا مطارِداً

الخطوة الثانية — لمسة قيمة مضافة واحدة شهرياً لمدة 3 أشهر
أرسل لأميرة شيئاً مفيداً حقاً كل شهر: تقرير معياري عن تكاليف الهواتف المؤسسية في مصر، نشرة عن لوائح الدفع الرقمي الجديدة للبنك المركزي المؤثرة على شركات التجارة، دراسة حالة لشركة مماثلة حسّنت عمليات المستودعات عبر شرائح IoT. لا بيع. فقط البقاء ذا صلة.

الخطوة الثالثة — التواصل مع المدير المالي، الشهر الرابع
بحلول الشهر الرابع، قرار تجديد عقدهم وشيك داخلياً. الآن تواصل مع المدير المالي مباشرة:
"سيادة [الاسم]، أردت التواصل مباشرة. عملنا مع مجموعة مصر ثلاث سنوات وكنت دائماً أحترم جدية تعاملك مع القرارات التجارية. مع اقترابكم من مراجعة الاتصالات القادمة، أريد 30 دقيقة لأعرض ما بنته كونكت — خاصة ضمان اتفاقية مستوى الخدمة المؤسسية وبنية منطقة الدلتا، وهو ما أفهم أنه مهم لعمليات مستودعاتكم. لا أطلب منكم التحويل. أطلب 30 دقيقة لأدع الأرقام تتحدث."

عبارة "أدع الأرقام تتحدث" تعكس طريقة تفكير المدير المالي وتستدعي لغة مغادرة أميرة الأصلية.

ما تغيّره إن استعدت الحساب:

السببان اللذان خسرت بهما: بطء عملية التجديد والسعر.

الإصلاح الأول: ضع تنبيه تقويم للتجديد قبل 6 أشهر من انتهاء العقد — لا أسبوعين قبله.
الإصلاح الثاني: عيّن مدير حساب احتياطياً مسمّى حتى إذا غادرت أنت، لا تغادر العلاقة معك.
الإصلاح الثالث: أجرِ مراجعة أعمال ربعية كل 3 أشهر — اجعل القيمة مرئية قبل محادثة التجديد لا خلالها.
الإصلاح الرابع: ابنِ علاقة مع المدير المالي مباشرة لا عبر المشتريات فقط. المدير المالي هو من اتخذ قرار المغادرة. يحتاج أن يعرفك شخصياً.',
                'bigger_lesson_ar'       => 'الحسابات المفقودة ليست ملفات مغلقة. هي فرص مستقبلية بقائمة اتصالات معروفة وتاريخ ألم معروف وهيكل اتخاذ قرار معروف. مدير الحسابات الذي يسترد العملاء المغادرين هو من يبقى مرئياً باحترافية خلال عقد المنافس، ويتواصل قبل فتح نافذة التجديد، ويتناول أسباب الخسارة الأصلية قبل أن يُسأل. لا تدع حساباً مفقوداً يصطرد.',
                'skills_taught_ar'       => json_encode([
                    'استراتيجية استعادة الحسابات المؤسسية المغادرة',
                    'تسلسل إعادة الدخول — المشتريات قبل الإدارة العليا',
                    'التغذية بالقيمة المضافة خلال عقد المنافس',
                    'تناول أسباب المغادرة الأصلية في عرض الاستعادة',
                    'تغييرات هيكلية في إدارة الحسابات لمنع تكرار المغادرة',
                ], JSON_UNESCAPED_UNICODE),
                'case_data'  => null,
                'created_at' => $now,
                'updated_at' => $now,
            ],

            // ── S04-03 ─────────────────────────────────────────
            [
                'hub_id'                 => $hubId,
                'created_by'             => $adminId,
                'topic_slug'             => 'account_management',
                'topic_name_en'          => 'Account Management',
                'topic_name_ar'          => 'إدارة الحسابات',
                'layer'                  => 'sector_specific',
                'difficulty'             => 'intermediate',
                'sort_order'             => 18,
                'status'                 => 'published',
                'published_at'           => $now,
                'read_time_minutes'      => 12,
                'title_en'               => 'The Restaurant Chain That Stopped Ordering',
                'subtitle_en'            => 'Diagnosing silent churn before it becomes a cancellation',
                'situation_en'           => 'You are a sales representative at Delta Fresh, a wholesale food supplier serving restaurants, hotels, and catering companies across Greater Cairo. You manage 34 accounts.

One of your accounts is Grill House Egypt — a fast-casual restaurant chain with 11 branches. For 18 months they were a strong account: consistent weekly orders, on-time payment, no complaints.

You have noticed the following over the past 8 weeks:

| Week | Order Value (EGP) |
|---|---|
| Week 1-2 (normal period) | 42,000 |
| Week 3 | 31,000 |
| Week 4 | 28,500 |
| Week 5 | 19,000 |
| Week 6 | 14,200 |
| Week 7 | 9,800 |
| Week 8 | 6,100 |

No complaint has been raised. No cancellation notice has been sent. The restaurant manager, Tarek, still responds to your messages politely — but his responses have become shorter and less warm over the past month.

You have not visited a Grill House branch in six weeks.',
                'challenge_questions_en' => json_encode([
                    'What is happening with this account — and why is the silence more alarming than a formal complaint would be?',
                    'What are the four most likely causes of this decline pattern — and how do you find out which one it is?',
                    'You call Tarek today. He answers. What do you say in the first 60 seconds — and what do you not say?',
                    'The decline started 8 weeks ago. You have been watching the numbers drop for 8 weeks without acting. What should your early warning system look like going forward?',
                ], JSON_UNESCAPED_UNICODE),
                'solution_en'            => 'WHAT IS HAPPENING AND WHY SILENCE IS MORE ALARMING:

A formal complaint means the client still believes the relationship is worth fighting for. They are frustrated but engaged. Silent churn is different — it means the client has already mentally moved on. They are not complaining because they are not planning to give you the chance to fix it. They are reducing orders while quietly onboarding a replacement supplier.

The pattern here is textbook silent churn: a 85% revenue decline over 8 weeks in a smooth, consistent downward curve. This is not a seasonal dip or a business downturn — it is a deliberate, managed transition to another supplier. Tarek is not reducing orders because his restaurants are selling less. He is reducing your share while someone else\'s share increases.

THE FOUR MOST LIKELY CAUSES:

Cause 1 — A competitor made a better offer
A sales rep from a competitor visited one or more Grill House branches and offered better pricing, more consistent produce quality, or a better delivery window. Tarek did not tell you because it did not feel worth the conversation.

Cause 2 — A quality or delivery issue you do not know about
Something went wrong — a substandard batch, a late delivery, a wrong SKU — at branch level, and it was never escalated to you. Branch managers often absorb small problems rather than calling the supplier. Three or four of these unreported issues accumulate into a quiet decision to switch.

Cause 3 — A relationship or service gap
Tarek or the branch managers feel they are being managed from a distance. No visits, impersonal order confirmations, no one who knows the kitchen by name. A competitor\'s rep who visits weekly and knows the head chef has a relationship advantage that pure price cannot overcome.

Cause 4 — Business or menu change at Grill House
They have changed their menu, their supplier requirements have shifted, or they are consolidating procurement to fewer suppliers. This is the only cause that is not your fault — but you still need to know about it.

HOW YOU FIND OUT WHICH ONE IT IS:
You visit a branch. Not a call, not a WhatsApp. You walk into the busiest Grill House branch, ask to see the kitchen manager or head chef, and spend 20 minutes in their world. You will know within 10 minutes which cause it is.

WHAT YOU SAY TO TAREK IN THE FIRST 60 SECONDS:

What you do NOT say:
"I noticed your orders have been lower — is everything okay?" — This is weak and puts him in the position of explaining himself, which feels accusatory.

What you DO say:
"Tarek, I want to be honest with you. I have been looking at our order pattern over the past 8 weeks and I can see clearly that something has changed on your end. I do not know what it is — and that is my failure, not yours. I should have called you five weeks ago. Can we meet today or tomorrow? I want to understand your situation properly and see if we can still be useful to you."

Why this works:
— You own the observation without making him defensive
— You take responsibility for not calling sooner
— You frame the conversation around his situation, not your revenue
— "See if we can still be useful to you" is honest and does not assume the relationship is still intact

THE EARLY WARNING SYSTEM YOU NEED:

Set a rule in your CRM or a simple spreadsheet: any account that shows a week-on-week order decline of more than 15% for two consecutive weeks triggers an automatic flag. You investigate that week — not 8 weeks later.

The flag does not mean the account is churning. It means you call to find out. Seasonal dip, menu change, or renovation — fine. But you find out in week 3, not week 8.',
                'bigger_lesson_en'       => 'Clients who are leaving rarely announce it. They reduce orders gradually, keep communication polite but distant, and by the time you notice the revenue hole, they are already 60% through onboarding your replacement. Track order velocity as carefully as you track order value. A 15% week-on-week drop for two consecutive weeks is a phone call, not a footnote.',
                'skills_taught_en'       => json_encode([
                    'Silent churn pattern recognition in wholesale accounts',
                    'Four-cause diagnosis framework for declining accounts',
                    'Opening a difficult conversation about order decline',
                    'Branch-level intelligence gathering in F&B accounts',
                    'Early warning system design for account health monitoring',
                ], JSON_UNESCAPED_UNICODE),
                'title_ar'               => 'سلسلة المطاعم التي توقفت عن الطلب',
                'subtitle_ar'            => 'تشخيص المغادرة الصامتة قبل أن تتحول إلى إلغاء',
                'situation_ar'           => 'أنت مندوب مبيعات في شركة دلتا فريش، مورد أغذية بالجملة يخدم المطاعم والفنادق وشركات تقديم الطعام في القاهرة الكبرى. تدير 34 حساباً.

أحد حساباتك هو جريل هاوس إيجيبت — سلسلة مطاعم فاست كاجوال بـ 11 فرعاً. كانوا لمدة 18 شهراً حساباً قوياً: طلبات أسبوعية منتظمة، دفع في الوقت المحدد، لا شكاوى.

لاحظت التالي خلال الأسابيع الثمانية الماضية:

| الأسبوع | قيمة الطلب (جنيه) |
|---|---|
| الأسبوع 1-2 (فترة طبيعية) | 42,000 |
| الأسبوع 3 | 31,000 |
| الأسبوع 4 | 28,500 |
| الأسبوع 5 | 19,000 |
| الأسبوع 6 | 14,200 |
| الأسبوع 7 | 9,800 |
| الأسبوع 8 | 6,100 |

لم تُرفع أي شكوى. لم يُرسَل أي إشعار إلغاء. مدير المطعم طارق لا يزال يردّ على رسائلك بأدب — لكن ردوده أصبحت أقصر وأقل دفئاً خلال الشهر الماضي.

لم تزر أي فرع من فروع جريل هاوس منذ ستة أسابيع.',
                'challenge_questions_ar' => json_encode([
                    'ما الذي يحدث مع هذا الحساب — ولماذا الصمت أكثر إنذاراً من شكوى رسمية؟',
                    'ما الأسباب الأربعة الأكثر احتمالاً لنمط التراجع هذا — وكيف تعرف أيها هو؟',
                    'تتصل بطارق اليوم. يرد. ماذا تقول في أول 60 ثانية — وما الذي لا تقوله؟',
                    'بدأ التراجع منذ 8 أسابيع. كنت تراقب الأرقام تنخفض 8 أسابيع دون تحرك. كيف يبدو نظام الإنذار المبكر لديك من الآن فصاعداً؟',
                ], JSON_UNESCAPED_UNICODE),
                'solution_ar'            => 'ما الذي يحدث ولماذا الصمت أكثر إنذاراً:

الشكوى الرسمية تعني أن العميل لا يزال يؤمن بأن العلاقة تستحق المقاتلة من أجلها. محبَط لكن منخرط. المغادرة الصامتة مختلفة — تعني أن العميل انتقل ذهنياً بالفعل. لا يشتكي لأنه لا يخطط لمنحك فرصة الإصلاح. يخفض الطلبات بينما يُدرج مورداً بديلاً بهدوء.

النمط هنا مغادرة صامتة نموذجية: انخفاض إيراد بنسبة 85% على مدى 8 أسابيع في منحنى هبوطي سلس ومتسق. هذا ليس تراجعاً موسمياً أو ركوداً تجارياً — إنه انتقال متعمد ومُدار لمورد آخر. طارق لا يخفض الطلبات لأن مطاعمه تبيع أقل. يخفض حصتك بينما تزيد حصة شخص آخر.

الأسباب الأربعة الأكثر احتمالاً:

السبب الأول — منافس قدّم عرضاً أفضل
زار مندوب من منافس فرعاً أو أكثر من فروع جريل هاوس وعرض أسعاراً أفضل أو جودة منتجات أكثر اتساقاً أو نافذة تسليم أفضل. طارق لم يخبرك لأن الأمر لم يبدُ يستحق المحادثة.

السبب الثاني — مشكلة جودة أو تسليم لا تعرف عنها
حدث خطأ ما — دفعة دون المستوى، تسليم متأخر، منتج خاطئ — على مستوى الفرع، ولم يُصعَّد إليك قط. مديرو الفروع غالباً يستوعبون المشكلات الصغيرة بدلاً من الاتصال بالمورد. ثلاث أو أربع مشكلات غير مُبلَّغ عنها تتراكم في قرار هادئ بالتحويل.

السبب الثالث — فجوة في العلاقة أو الخدمة
يشعر طارق أو مديرو الفروع أنهم يُدارون من بعد. لا زيارات، تأكيدات طلب غير شخصية، لا أحد يعرف المطبخ بالاسم. مندوب منافس يزور أسبوعياً ويعرف الشيف الرئيسي لديه ميزة علاقة لا يستطيع السعر وحده التغلب عليها.

السبب الرابع — تغيير تجاري أو في قائمة طعام جريل هاوس
غيّروا قائمتهم، أو تغيّرت متطلبات التوريد لديهم، أو يوحّدون المشتريات لدى موردين أقل. هذا السبب الوحيد الذي ليس خطأك — لكنك لا تزال بحاجة لمعرفته.

كيف تعرف أيها هو:
تزور فرعاً. لا مكالمة، لا واتساب. تدخل لأكثر فروع جريل هاوس ازدحاماً، تطلب رؤية مدير المطبخ أو الشيف الرئيسي، وتقضي 20 دقيقة في عالمهم. ستعرف خلال 10 دقائق أي سبب هو.

ما تقوله لطارق في أول 60 ثانية:

ما لا تقوله:
"لاحظت أن طلباتك أصبحت أقل — هل كل شيء بخير؟" — هذا ضعيف ويضعه في موضع الشرح عن نفسه، مما يبدو اتهامياً.

ما تقوله:
"طارق، أريد أن أكون صريحاً معك. كنت أنظر في نمط طلباتنا خلال الأسابيع الثمانية الماضية وأرى بوضوح أن شيئاً ما تغيّر عندكم. لا أعرف ما هو — وهذا إخفاقي أنا لا إخفاقك. كان يجب أن أتصل بك قبل خمسة أسابيع. هل يمكننا الاجتماع اليوم أو غداً؟ أريد فهم وضعكم جيداً والتأكد من أننا لا نزال نستطيع أن نكون مفيدين لكم."

لماذا ينجح هذا:
— تمتلك الملاحظة دون جعله دفاعياً
— تتحمل المسؤولية عن عدم الاتصال مبكراً
— تؤطر المحادثة حول وضعه لا حول إيراداتك
— "التأكد من أننا لا نزال نستطيع أن نكون مفيدين لكم" صادق ولا يفترض أن العلاقة لا تزال سليمة

نظام الإنذار المبكر الذي تحتاجه:

ضع قاعدة في CRM أو جدول بيانات بسيط: أي حساب يُظهر انخفاضاً في قيمة الطلب أسبوعاً تلو الآخر بأكثر من 15% لأسبوعين متتاليين يُطلق علامة تلقائية. تتحقق من ذلك الأسبوع — لا بعد 8 أسابيع.

العلامة لا تعني أن الحساب يغادر. تعني أنك تتصل لتعرف. تراجع موسمي، تغيير قائمة، أو تجديد — جيد. لكنك تعرف في الأسبوع الثالث لا الأسبوع الثامن.',
                'bigger_lesson_ar'       => 'العملاء المغادرون نادراً ما يعلنون ذلك. يخفضون الطلبات تدريجياً، يبقون التواصل مهذباً لكن بعيداً، وبحلول الوقت الذي تلاحظ فيه الفجوة في الإيراد، يكونون بالفعل في 60% من عملية إدراج بديلك. تابع سرعة الطلبات بنفس عناية متابعتك لقيمة الطلبات. انخفاض 15% أسبوعاً بعد أسبوع لأسبوعين متتاليين هو مكالمة هاتفية لا هامش تعليق.',
                'skills_taught_ar'       => json_encode([
                    'التعرف على نمط المغادرة الصامتة في حسابات الجملة',
                    'إطار تشخيص الأسباب الأربعة للحسابات المتراجعة',
                    'فتح محادثة صعبة حول تراجع الطلبات',
                    'جمع المعلومات على مستوى الفرع في حسابات الأغذية والمشروبات',
                    'تصميم نظام الإنذار المبكر لمراقبة صحة الحسابات',
                ], JSON_UNESCAPED_UNICODE),
                'case_data'  => null,
                'created_at' => $now,
                'updated_at' => $now,
            ],

            // ── S04-04 ─────────────────────────────────────────
            [
                'hub_id'                 => $hubId,
                'created_by'             => $adminId,
                'topic_slug'             => 'account_management',
                'topic_name_en'          => 'Account Management',
                'topic_name_ar'          => 'إدارة الحسابات',
                'layer'                  => 'sector_specific',
                'difficulty'             => 'advanced',
                'sort_order'             => 19,
                'status'                 => 'published',
                'published_at'           => $now,
                'read_time_minutes'      => 14,
                'title_en'               => 'The Construction Company That Blamed You for Their Delay',
                'subtitle_en'            => 'Managing a complaint when the client is partly responsible for the problem',
                'situation_en'           => 'You are a key account manager at StrongBuild Supplies, a distributor of construction materials including steel, cement, and finishing materials. You manage the account of Horizon Contracting — a mid-sized construction company working on a residential compound in October City.

The dispute:
Horizon placed a steel delivery order for 280 tonnes on April 3rd, with a delivery date of April 15th. Your terms state: orders require 10 working days lead time for steel above 200 tonnes.

What actually happened:
- April 3: Order placed. Your team confirmed receipt.
- April 5: Your procurement team noticed the order but did not flag a lead time issue to the client.
- April 12: Horizon called asking for the delivery status. Your logistics team said delivery was "on track for the 15th."
- April 14: Steel not ready. You call Horizon and inform them. Delivery rescheduled to April 22nd.
- April 15-22: Horizon construction site is idle. 60 workers idle for 7 days.
- April 22: Steel delivered, correct quantity, correct spec.

Horizon is now claiming compensation for 7 days of idle labour: EGP 185,000.

Your legal review says: Horizon placed the order outside the lead time window. Technically, StrongBuild is not liable. However, your logistics team confirmed the April 15th delivery on April 12th — which was wrong.',
                'challenge_questions_en' => json_encode([
                    'Who is responsible for this problem — and what percentage of responsibility sits with each party?',
                    'Your legal team says you are not liable. Your client is claiming EGP 185,000. How do you decide what to do — and what factors matter beyond the legal position?',
                    'Design the conversation with Horizon\'s project director. What do you acknowledge, what do you dispute, and what do you offer?',
                    'How do you close this dispute in a way that preserves the account without setting a precedent that every delay claim gets paid?',
                ], JSON_UNESCAPED_UNICODE),
                'solution_en'            => 'WHO IS RESPONSIBLE AND BY HOW MUCH:

This is a shared responsibility situation — not a clean supplier fault.

Horizon\'s responsibility (approximately 40%):
They placed a 280-tonne steel order knowing your lead time terms require 10 working days. April 3rd with a required delivery of April 15th is 8 working days — 2 days short of your stated minimum. A professional procurement team in construction knows lead times. The order was placed outside the agreed parameters.

StrongBuild\'s responsibility (approximately 60%):
Your team received the order and did not flag the lead time breach on April 3rd or 4th. This was the moment to call Horizon and say "we have received your order but the timeline does not meet our minimum lead time — the earliest we can confirm is April 17th. Please confirm or we can explore options." You did not do this.

More critically: on April 12th your logistics team confirmed delivery was "on track for the 15th" — which was false. This false confirmation caused Horizon to make labour and site planning decisions based on incorrect information. The 7-day idle site is a consequence of the false April 12th confirmation, not just the original order timing.

HOW TO DECIDE WHAT TO DO:

The legal position is clear: you are not liable. But the legal position is not the only consideration. Ask four questions:

1. What is Horizon\'s annual revenue to StrongBuild? If it is EGP 3-5 million, paying EGP 50-80K to close the dispute is commercially rational.
2. What precedent does any payment set? Partial payment tied to your acknowledged error (the false confirmation) is defensible. Full payment implies you accept full liability, which you do not.
3. What does your relationship with Horizon look like in 3 years? Construction relationships in Egypt are long and referral-heavy. A badly handled dispute loses not just Horizon — it loses every contractor Horizon speaks to.
4. What is the cost of not resolving this? A dispute that goes unresolved poisons the account. Horizon will reduce orders, tell their network, and eventually leave.

THE CONVERSATION WITH HORIZON\'S PROJECT DIRECTOR:

Open by acknowledging your specific error — not the whole situation:
"Mr. [Name], I want to start with what we got wrong. On April 12th, our logistics team told you the delivery was on track for the 15th. That was incorrect information, and it caused you to keep your workforce on-site based on a commitment we could not fulfil. That is a StrongBuild failure and I take full responsibility for it."

Then, factually and without accusation, address the shared context:
"What I also want to be transparent about is that the original order was placed on April 3rd for an April 15th delivery. Our terms for orders above 200 tonnes require 10 working days, which would have been April 17th at the earliest. I am not raising this to dispute liability — I am raising it because I think both sides contributed to a situation that should not have happened."

Then make a specific offer:
"Given our responsibility for the incorrect confirmation on the 12th, I would like to offer a credit of EGP 75,000 against your next order — which reflects the direct impact of the false information our team provided. I cannot accept the full EGP 185,000 because the original order timeline was outside our agreed lead time, and I think you know that. But I do not want this to end our relationship and I want to be fair."

HOW TO CLOSE WITHOUT SETTING A PRECEDENT:

Put the resolution in writing as a "goodwill credit" — not as "compensation for delay." The language matters:
"Goodwill credit of EGP 75,000 applied to account in recognition of a logistics communication error on April 12th" is very different from "compensation paid for late delivery." The first is a relationship gesture. The second is a liability admission.',
                'bigger_lesson_en'       => 'In construction supply, disputes involving shared responsibility are the most common and the most relationship-damaging. The professional approach is not to hide behind the legal position — nor to accept full liability when it is not warranted. Acknowledge specifically what you did wrong, present the shared context calmly and factually, and make an offer that is proportionate to your actual error. Shared responsibility requires a shared resolution.',
                'skills_taught_en'       => json_encode([
                    'Shared responsibility analysis in supply chain disputes',
                    'Separating legal position from commercial judgment',
                    'Structured dispute conversation with acknowledgement and boundary',
                    'Precedent-safe resolution language and documentation',
                    'Long-term account value vs. short-term dispute cost calculation',
                ], JSON_UNESCAPED_UNICODE),
                'title_ar'               => 'شركة المقاولات التي ألقت عليك اللوم بسبب تأخيرها',
                'subtitle_ar'            => 'إدارة شكوى حين يتحمّل العميل جزءاً من المسؤولية',
                'situation_ar'           => 'أنت مدير حسابات رئيسية في شركة ستروج بيلد للمستلزمات، موزّع مواد بناء يشمل الحديد والأسمنت ومواد التشطيب. تدير حساب شركة هورايزون للمقاولات — شركة مقاولات متوسطة الحجم تعمل على مشروع مجمع سكني في أكتوبر.

النزاع:
طلبت هورايزون شحنة حديد بـ 280 طناً في 3 أبريل بتاريخ تسليم 15 أبريل. تنص شروطك على: الطلبات تستلزم 10 أيام عمل مهلة للحديد فوق 200 طن.

ما حدث فعلاً:
- 3 أبريل: وُضع الطلب. أكّد فريقك الاستلام.
- 5 أبريل: لاحظ فريق المشتريات الطلب لكنه لم يُشر لمشكلة المهلة للعميل.
- 12 أبريل: اتصلت هورايزون تسأل عن حالة التسليم. قال فريق اللوجستيات إن التسليم "في المسار الصحيح للخامس عشر."
- 14 أبريل: الحديد غير جاهز. اتصلت بهورايزون وأبلغتهم. أُعيد جدولة التسليم للثاني والعشرين.
- 15-22 أبريل: موقع بناء هورايزون متوقف. 60 عامل عاطل 7 أيام.
- 22 أبريل: تسليم الحديد، الكمية صحيحة، المواصفات صحيحة.

تطالب هورايزون الآن بتعويض عن 7 أيام عمالة عاطلة: 185,000 جنيه.

مراجعتك القانونية تقول: هورايزون وضعت الطلب خارج نافذة المهلة. من الناحية التقنية، ستروج بيلد غير مسؤولة. لكن فريق اللوجستيات أكّد تسليم 15 أبريل في 12 أبريل — وهو كان خاطئاً.',
                'challenge_questions_ar' => json_encode([
                    'من المسؤول عن هذه المشكلة — وما نسبة المسؤولية لكل طرف؟',
                    'فريقك القانوني يقول إنك غير مسؤول. عميلك يطالب بـ 185,000 جنيه. كيف تقرر ماذا تفعل — وما العوامل التي تهم بعيداً عن الموقف القانوني؟',
                    'صمّم المحادثة مع مدير مشروع هورايزون. ما الذي تُقرّ به، وما الذي تعترض عليه، وماذا تقدّم؟',
                    'كيف تُغلق هذا النزاع بطريقة تحافظ على الحساب دون إرساء سابقة بأن كل مطالبة تأخير تُدفع؟',
                ], JSON_UNESCAPED_UNICODE),
                'solution_ar'            => 'من المسؤول وبأي نسبة:

هذا وضع مسؤولية مشتركة — لا خطأ مورّد واضح.

مسؤولية هورايزون (حوالي 40%):
وضعوا طلب حديد بـ 280 طناً مع علمهم بأن شروط المهلة تستلزم 10 أيام عمل. 3 أبريل بتسليم مطلوب في 15 أبريل هو 8 أيام عمل — يومان أقل من الحد الأدنى المنصوص. فريق المشتريات المحترف في المقاولات يعرف المهل. الطلب وُضع خارج المعايير المتفق عليها.

مسؤولية ستروج بيلد (حوالي 60%):
فريقك تلقّى الطلب ولم يُشِر لخرق المهلة في 3 أو 4 أبريل. تلك كانت اللحظة للاتصال بهورايزون وقول "تلقّينا طلبكم لكن الجدول الزمني لا يستوفي مهلتنا الدنيا — أبكر ما يمكننا تأكيده هو 17 أبريل. يُرجى التأكيد أو يمكننا استكشاف خيارات." لم تفعل هذا.

والأخطر: في 12 أبريل أكّد فريق اللوجستيات أن التسليم "في المسار الصحيح للخامس عشر" — وهو كان كاذباً. هذا التأكيد الكاذب دفع هورايزون لاتخاذ قرارات عمالة وتخطيط موقع بناءً على معلومات خاطئة. توقف الموقع 7 أيام نتيجة مباشرة للتأكيد الكاذب في 12 أبريل، لا فقط توقيت الطلب الأصلي.

كيف تقرر ماذا تفعل:

الموقف القانوني واضح: أنت غير مسؤول. لكن الموقف القانوني ليس الاعتبار الوحيد. اسأل أربعة أسئلة:

1. ما الإيراد السنوي لهورايزون لستروج بيلد؟ إذا كان 3-5 مليون جنيه، دفع 50-80 ألف لإغلاق النزاع منطقي تجارياً.
2. ما السابقة التي يُرسيها أي دفع؟ الدفع الجزئي المرتبط بخطئك المُقَرّ به (التأكيد الكاذب) قابل للدفاع عنه. الدفع الكامل يعني قبولك للمسؤولية الكاملة وهو ما لا تقبله.
3. كيف تبدو علاقتك بهورايزون خلال 3 سنوات؟ علاقات المقاولات في مصر طويلة وقائمة على الإحالات. النزاع السيء الإدارة لا يخسر هورايزون فقط — بل يخسر كل مقاول تحدث إليه هورايزون.
4. ما تكلفة عدم الحل؟ نزاع غير محسوم يُسمّم الحساب. هورايزون ستخفض الطلبات وتخبر شبكتها وتغادر في نهاية المطاف.

المحادثة مع مدير مشروع هورايزون:

افتح بالاعتراف بخطأك المحدد — لا بالوضع كله:
"سيادة [الاسم]، أريد البدء بما أخطأنا فيه. في 12 أبريل أخبرك فريق اللوجستيات لدينا أن التسليم في المسار الصحيح للخامس عشر. تلك كانت معلومة خاطئة، ودفعتكم للإبقاء على قوتكم العاملة في الموقع بناءً على التزام لم نستطع الوفاء به. هذا إخفاق من ستروج بيلد وأتحمل مسؤوليته الكاملة."

ثم، بواقعية ودون اتهام، تناول السياق المشترك:
"ما أريد أيضاً الشفافية بشأنه هو أن الطلب الأصلي وُضع في 3 أبريل لتسليم في 15 أبريل. شروطنا للطلبات فوق 200 طن تستلزم 10 أيام عمل، وهو ما كان سيجعل 17 أبريل أبكر تاريخ ممكن. لا أطرح هذا للتنازع على المسؤولية — بل لأكون شفافاً أن كلا الطرفين ساهم في وضع كان يجب ألا يحدث."

ثم قدّم عرضاً محدداً:
"بالنظر لمسؤوليتنا عن التأكيد الخاطئ في الثاني عشر، أودّ تقديم رصيد بـ 75,000 جنيه على طلبكم القادم — وهو يعكس الأثر المباشر للمعلومات الخاطئة التي قدّمها فريقنا. لا أستطيع قبول الـ 185,000 جنيه كاملة لأن الجدول الزمني للطلب الأصلي كان خارج مهلتنا المتفق عليها، وأنتم تعلمون ذلك. لكنني لا أريد أن ينهي هذا علاقتنا وأريد أن أكون منصفاً."

كيف تُغلق دون إرساء سابقة:

ضع الحل كتابةً كـ"رصيد نية حسنة" — لا كـ"تعويض عن تأخير." اللغة مهمة:
"رصيد نية حسنة بـ 75,000 جنيه مُطبَّق على الحساب اعترافاً بخطأ تواصل لوجستي في 12 أبريل" مختلف جداً عن "تعويض مدفوع عن تأخير التسليم." الأول إيماءة علاقة. الثاني إقرار مسؤولية.',
                'bigger_lesson_ar'       => 'في توريد مواد البناء، النزاعات التي تنطوي على مسؤولية مشتركة هي الأكثر شيوعاً والأشد ضرراً للعلاقات. النهج الاحترافي لا يختبئ خلف الموقف القانوني — ولا يقبل المسؤولية الكاملة حين لا تكون واجبة. أقرّ تحديداً بما أخطأت فيه، قدّم السياق المشترك بهدوء وواقعية، وقدّم عرضاً يتناسب مع خطأك الفعلي. المسؤولية المشتركة تستلزم حلاً مشتركاً.',
                'skills_taught_ar'       => json_encode([
                    'تحليل المسؤولية المشتركة في نزاعات سلسلة التوريد',
                    'الفصل بين الموقف القانوني والحكم التجاري',
                    'محادثة النزاع المنظّمة بالاعتراف والحدود',
                    'لغة الحل الآمنة من السوابق وتوثيقها',
                    'حساب قيمة الحساب طويل الأمد مقابل تكلفة النزاع قصير الأمد',
                ], JSON_UNESCAPED_UNICODE),
                'case_data'  => null,
                'created_at' => $now,
                'updated_at' => $now,
            ],

            // ── S04-05 ─────────────────────────────────────────
            [
                'hub_id'                 => $hubId,
                'created_by'             => $adminId,
                'topic_slug'             => 'account_management',
                'topic_name_en'          => 'Account Management',
                'topic_name_ar'          => 'إدارة الحسابات',
                'layer'                  => 'sector_specific',
                'difficulty'             => 'beginner',
                'sort_order'             => 20,
                'status'                 => 'published',
                'published_at'           => $now,
                'read_time_minutes'      => 10,
                'title_en'               => 'The New Contact Who Does Not Know You',
                'subtitle_en'            => 'Rebuilding an account relationship after a key contact leaves',
                'situation_en'           => 'You are a sales executive at ProPrint Egypt, a commercial printing and marketing materials company. You manage 22 accounts.

Your most stable account for the past two years has been Nile Insurance Group — an insurance company that orders printed materials for their 18 branches: forms, brochures, branded stationery, and campaign flyers. Annual spend: EGP 680,000.

Your contact at Nile Insurance was Rania Hassan, the marketing manager. You and Rania had an excellent working relationship — she trusted your quality, never asked for quotes, and sent orders directly by WhatsApp. You spoke every two to three weeks.

Three weeks ago, Rania resigned and moved to a different company. You sent her a congratulations message. You have not yet contacted Nile Insurance about the change.

You just received a formal RFP (request for proposal) from a new contact at Nile Insurance you have never heard of: "Mohamed Adel, Head of Procurement." The RFP asks for quotes on the full annual printing requirement — the same work you have been doing for two years — from three competing suppliers.',
                'challenge_questions_en' => json_encode([
                    'Why has a two-year account that never sent RFPs suddenly sent one — and what does it tell you about your current position?',
                    'You are now competing for an account you already hold. What are the risks of simply submitting a competitive quote like any other bidder?',
                    'How do you approach Mohamed Adel — and what is the difference between introducing yourself as the incumbent and introducing yourself as a new supplier?',
                    'Design your response strategy: do you submit the RFP as requested, request a meeting first, or do both simultaneously?',
                ], JSON_UNESCAPED_UNICODE),
                'solution_en'            => 'WHY THE RFP ARRIVED — AND WHAT IT MEANS:

When Rania was at Nile Insurance, she was your relationship. The orders came through her because she trusted you and saw no reason to test the market. When Rania left, that trust left with her. Mohamed Adel is a new procurement head who does not know you, does not know your quality, and does not know your history with the account. His default behaviour in a new role is exactly this: run a competitive process to establish the right supplier at the right price.

You are now the incumbent who is invisible. From Mohamed\'s perspective, you are one of three suppliers he has never worked with. Your two years of service history means nothing to him yet.

The risk of submitting like any other bidder:
If you send a competitive quote by email and wait, you are gambling that your price wins. If a competitor undercuts you by 5-8%, you lose an account you held for two years — not because your quality was worse, but because Mohamed had no reason to prefer you.

HOW TO APPROACH MOHAMED ADEL:

The wrong approach: "Hi Mohamed, I am the current supplier for all printing at Nile Insurance. Please find our quote attached."

This is the approach of a supplier who is complacent about the incumbent position. It gives Mohamed no reason to value the relationship over the price.

The right approach: call Mohamed before submitting anything.

"Mohamed, my name is [your name] from ProPrint. I received the RFP and I will absolutely submit a detailed proposal. Before I do, I wanted to introduce myself directly — ProPrint has been handling Nile Insurance\'s printing for the past two years, and I wanted to make sure you have the full context of what we have delivered before evaluating proposals. Would 20 minutes work this week? I can walk you through our work, show you samples from the last 12 months, and answer any questions you have about our capabilities."

Why this is the right approach:
— It signals confidence, not desperation
— It establishes your incumbent history without using it as a threat
— It creates a face-to-face relationship before the decision is made
— It gives you intelligence: you will learn what Mohamed values, what Rania\'s departure means for the department, and whether there are any new requirements you are not aware of

YOUR RESPONSE STRATEGY — DO BOTH:

Step 1: Call Mohamed today and request 20 minutes before the RFP deadline.
Step 2: In the meeting, present your track record — delivery performance, quality samples, zero reprints, branch delivery history. Make the two years visible.
Step 3: Submit the RFP on time, with a cover note referencing the meeting: "Following our conversation on [date], please find ProPrint\'s proposal for the 2025-2026 printing programme. As discussed, our quality samples and full delivery history are available for your reference."

The cover note signals that you are the only supplier who took the time to meet him. That alone differentiates you from the other two bidders who sent PDFs.',
                'bigger_lesson_en'       => 'A relationship account is only as secure as your deepest relationship in it. When your key contact leaves, you do not lose the account immediately — you lose the protection. The new contact starts the relationship from zero. The account manager who survives a key contact departure is the one who introduces themselves to the new contact within 48 hours of the change — not three weeks later when an RFP arrives.',
                'skills_taught_en'       => json_encode([
                    'Incumbent account protection after key contact departure',
                    'Rebuilding a relationship with a new procurement contact',
                    'RFP response strategy for existing supplier accounts',
                    'Using track record as a differentiator, not a threat',
                    'Contact transition monitoring as an account management discipline',
                ], JSON_UNESCAPED_UNICODE),
                'title_ar'               => 'جهة الاتصال الجديدة التي لا تعرفك',
                'subtitle_ar'            => 'إعادة بناء علاقة الحساب بعد رحيل جهة التواصل الرئيسية',
                'situation_ar'           => 'أنت مندوب مبيعات في شركة برو برينت مصر، شركة طباعة تجارية ومواد تسويقية. تدير 22 حساباً.

أكثر حساباتك استقراراً خلال العامين الماضيين كان مجموعة النيل للتأمين — شركة تأمين تطلب مواد مطبوعة لـ 18 فرعاً: نماذج وكتيبات وأدوات مكتبية تحمل العلامة التجارية ونشرات حملات. الإنفاق السنوي: 680,000 جنيه.

جهة تواصلك في النيل للتأمين كانت رانيا حسن، مديرة التسويق. كانت علاقتك ورانيا ممتازة — تثق في جودتك، لا تطلب عروض أسعار أبداً، وترسل الطلبات مباشرة عبر واتساب. كنتما تتحدثان كل أسبوعين أو ثلاثة.

قبل ثلاثة أسابيع، استقالت رانيا وانتقلت لشركة أخرى. أرسلت لها رسالة تهنئة. لم تتواصل مع النيل للتأمين بشأن التغيير بعد.

للتو تلقّيت طلب عروض رسمياً من جهة تواصل جديدة في النيل للتأمين لم تسمع عنها: "محمد عادل، رئيس المشتريات." يطلب طلب العروض أسعاراً على متطلبات الطباعة السنوية الكاملة — نفس العمل الذي تنجزه منذ عامين — من ثلاثة موردين متنافسين.',
                'challenge_questions_ar' => json_encode([
                    'لماذا أرسل حساب عمره عامان لم يُرسل طلبات عروض قط طلباً فجأة — وما الذي يُخبرك به عن وضعك الحالي؟',
                    'أنت تتنافس الآن على حساب تمتلكه بالفعل. ما مخاطر مجرد تقديم عرض تنافسي كأي مُقدِّم آخر؟',
                    'كيف تتعامل مع محمد عادل — وما الفرق بين تعريف نفسك كمورد قائم وتعريف نفسك كمورد جديد؟',
                    'صمّم استراتيجية ردّك: هل تقدّم طلب العروض كما طُلب، أم تطلب اجتماعاً أولاً، أم تفعل كليهما في آنٍ واحد؟',
                ], JSON_UNESCAPED_UNICODE),
                'solution_ar'            => 'لماذا وصل طلب العروض — وما معناه:

حين كانت رانيا في النيل للتأمين، كانت هي علاقتك. جاءت الطلبات عبرها لأنها كانت تثق بك ولا ترى سبباً لاختبار السوق. حين غادرت رانيا، غادرت تلك الثقة معها. محمد عادل رئيس مشتريات جديد لا يعرفك، لا يعرف جودتك، ولا يعرف تاريخك مع الحساب. سلوكه الافتراضي في دور جديد هو بالضبط هذا: إجراء عملية تنافسية لتحديد المورد الصحيح بالسعر الصحيح.

أنت الآن المورد القائم الغير مرئي. من منظور محمد، أنت أحد ثلاثة موردين لم يعمل معهم من قبل. عامان من سجل الخدمة لا يعنيان له شيئاً بعد.

خطر التقديم كأي مُقدِّم آخر:
إن أرسلت عرض أسعار تنافسياً بالبريد وانتظرت، تقامر بأن يفوز سعرك. إن قدّم منافس سعراً أقل بـ 5-8%، تخسر حساباً أمضيت فيه عامين — لا لأن جودتك كانت أدنى، بل لأن محمد لم يكن لديه سبب لتفضيلك.

كيف تتعامل مع محمد عادل:

النهج الخاطئ: "مرحباً محمد، أنا المورد الحالي لجميع الطباعة في النيل للتأمين. يُرجى الاطلاع على عرضنا المرفق."

هذا نهج المورد المتراخي على وضعه القائم. لا يمنح محمد سبباً لتقدير العلاقة على السعر.

النهج الصحيح: اتصل بمحمد قبل تقديم أي شيء.

"محمد، اسمي [اسمك] من برو برينت. تلقّيت طلب العروض وسأقدّم عرضاً مفصّلاً بالتأكيد. قبل ذلك، أردت التعريف بنفسي مباشرة — برو برينت تتولى طباعة النيل للتأمين منذ عامين، وأردت التأكد من أنك تملك السياق الكامل لما أنجزناه قبل تقييم العروض. هل 20 دقيقة تناسبك هذا الأسبوع؟ أستطيع استعراض أعمالنا وإرائك عينات من الـ 12 شهراً الماضية والإجابة على أي أسئلة حول قدراتنا."

لماذا هذا هو النهج الصحيح:
— يُشير للثقة لا اليأس
— يُثبّت تاريخك القائم دون استخدامه تهديداً
— يُنشئ علاقة وجهاً لوجه قبل اتخاذ القرار
— يمنحك معلومات استخباراتية: ستعرف ما يقدّره محمد، وما معنى رحيل رانيا للقسم، وما إذا كانت هناك متطلبات جديدة لا تعلم بها

استراتيجية ردّك — افعل كليهما:

الخطوة الأولى: اتصل بمحمد اليوم واطلب 20 دقيقة قبل الموعد النهائي لطلب العروض.
الخطوة الثانية: في الاجتماع، قدّم سجلك — أداء التسليم، عينات الجودة، صفر إعادة طباعة، سجل تسليم الفروع. اجعل العامين مرئيين.
الخطوة الثالثة: قدّم طلب العروض في الوقت المحدد، مع ملاحظة غلاف تُشير فيها للاجتماع: "بعد محادثتنا بتاريخ [التاريخ]، يُرجى الاطلاع على عرض برو برينت لبرنامج الطباعة 2025-2026. كما ناقشنا، عيناتنا وسجل التسليم الكامل متاحان للرجوع إليهما."

ملاحظة الغلاف تُشير إلى أنك المورد الوحيد الذي أخذ الوقت لمقابلته. هذا وحده يُميّزك عن المُقدِّمَين الآخرين اللذين أرسلا ملفات PDF.',
                'bigger_lesson_ar'       => 'حساب العلاقة آمن فقط بقدر أعمق علاقة لديك فيه. حين تغادر جهة تواصلك الرئيسية، لا تخسر الحساب فوراً — بل تخسر الحماية. جهة الاتصال الجديدة تبدأ العلاقة من الصفر. مدير الحسابات الذي ينجو من رحيل جهة التواصل الرئيسية هو من يعرّف نفسه لجهة الاتصال الجديدة خلال 48 ساعة من التغيير — لا بعد ثلاثة أسابيع حين يصل طلب عروض.',
                'skills_taught_ar'       => json_encode([
                    'حماية الحساب القائم بعد رحيل جهة التواصل الرئيسية',
                    'إعادة بناء العلاقة مع جهة تواصل مشتريات جديدة',
                    'استراتيجية الرد على طلبات العروض لحسابات الموردين القائمين',
                    'استخدام سجل الأداء كمُميِّز لا تهديد',
                    'مراقبة انتقالات جهات التواصل كانضباط في إدارة الحسابات',
                ], JSON_UNESCAPED_UNICODE),
                'case_data'  => null,
                'created_at' => $now,
                'updated_at' => $now,
            ],

        ]; // end $cases

        foreach ($cases as $case) {
            DB::table('cases')->insert($case);
        }

        $this->command->info('✅ SalesCaseSeeder_04: 5 cases seeded.');
    }
}
