{"id":31593,"date":"2026-09-07T13:26:31","date_gmt":"2026-09-07T11:26:31","guid":{"rendered":"https:\/\/botnation.ai\/air-transport-chatbot\/"},"modified":"2026-09-07T13:42:05","modified_gmt":"2026-09-07T11:42:05","slug":"air-transport-chatbot","status":"publish","type":"post","link":"https:\/\/botnation.ai\/en\/air-transport-chatbot\/","title":{"rendered":"A chatbot for the air transport industry: absorbing the peak, not the questions"},"content":{"rendered":"<p><script>(function(){var s=document.createElement(\"style\");s.appendChild(document.createTextNode(`.bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:\"\"; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:\"\"; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:\"+\"; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:\"\"; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:\"\"; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .bn-dev{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.chat img{max-width:400px; margin:0 auto} .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px} .bn-hd{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-hd h3{margin:.1em 0 .3em} .bn-hd>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-hd br{display:none} .bn-hd p:empty{display:none; margin:0} .hd-q{padding:15px 0; border-top:1px solid var(--bn-border)} .hd-q:first-of-type{border-top:none; padding-top:2px} .bn-art .hd-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .hd-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .hd-head{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:18px; align-items:center} .hd-n{font-family:var(--bn-mono); font-weight:800; line-height:1; color:var(--bn-ink); white-space:nowrap} .bn-art .hd-n span{font-size:34px} .bn-art .hd-n i{font-style:normal; font-size:16px; color:var(--bn-muted); font-weight:600} .hd-track{position:relative; height:14px; border-radius:999px; background:#fff; border:1px solid var(--bn-sand); overflow:hidden} .hd-fill{position:absolute; left:0; top:0; bottom:0; width:0; background:var(--bn-coral); transition:width .18s} .hd-parts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px} .hd-part{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:11px 8px; text-align:center} .bn-art .hd-part span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3} .bn-art .hd-part b{display:block; font-family:var(--bn-mono); font-size:20px; font-weight:800; color:var(--bn-coral-txt); margin-top:4px} .hdv{display:none; margin-top:18px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .hdv-1{display:block; border-left:4px solid var(--bn-green)} .hdv-2{border-left:4px solid var(--bn-blue)} .hdv-3{border-left:4px solid var(--bn-coral)} .hdv-4{border-left:4px solid var(--bn-ink)} .bn-art .hdv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:7px} .bn-art .hdv p{margin:0; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .hd-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} @media(max-width:680px){ .bn-hd{padding:20px 17px} .hd-out{padding:17px 15px} .hd-head{grid-template-columns:minmax(0,1fr); gap:12px} .hd-parts{grid-template-columns:repeat(2,minmax(0,1fr))} } .bn-tri{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-tri h3{margin:.1em 0 .3em} .bn-tri>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-tri br{display:none} .bn-tri p:empty{display:none; margin:0} .tri-q{padding:15px 0; border-top:1px solid var(--bn-border)} .tri-q:first-of-type{border-top:none; padding-top:2px} .bn-art .tri-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .tri-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .triv{display:none; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .triv-1{border-left:4px solid var(--bn-ink)} .triv-2{border-left:4px solid var(--bn-coral)} .triv-3{border-left:4px solid var(--bn-blue)} .triv-4{border-left:4px solid var(--bn-muted)} .triv-5{display:block; border-left:4px solid var(--bn-green)} .bn-art .triv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .triv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .triv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .triv p:last-child{margin-bottom:0} .tri-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px} .tri-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .tri-line span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .tri-line b{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .bn-art .tri-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-tri .bn-tablewrap{margin-top:22px} .bn-art .tri-load{font-family:var(--bn-mono); font-size:16px; line-height:1.2; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:8px 15px; cursor:pointer; white-space:nowrap; transition:.15s} .bn-art .tri-load:hover{background:var(--bn-coral-soft)} @media(max-width:680px){ .bn-tri{padding:20px 17px} .tri-out{padding:17px 15px} .tri-lines{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-steps ol{list-style:none;padding:0;margin:0} .bn-art .bn-tip,.bn-art .bn-warn,.bn-art .bn-info{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:18px 20px;margin:24px 0;box-shadow:var(--bn-sh-sm)} .bn-art .bn-tip{border-left:4px solid var(--bn-green)} .bn-art .bn-warn{border-left:4px solid var(--bn-coral)} .bn-art .bn-info{border-left:4px solid var(--bn-blue)} .bn-art .bn-tip .bn-klabel,.bn-art .bn-warn .bn-klabel,.bn-art .bn-info .bn-klabel{margin-bottom:6px} .bn-art .bn-tip p,.bn-art .bn-warn p,.bn-art .bn-info p{margin:0} .bn-art .bn-tri table{table-layout:fixed;min-width:640px} .bn-art .bn-tri th:nth-child(1),.bn-art .bn-tri td:nth-child(1){width:22%} .bn-art .bn-tri th:nth-child(2),.bn-art .bn-tri td:nth-child(2){width:14%} .bn-art .bn-tri th:nth-child(3),.bn-art .bn-tri td:nth-child(3){width:14%} .bn-art .bn-tri th:nth-child(4),.bn-art .bn-tri td:nth-child(4){width:13%} .bn-art .bn-tri th:nth-child(5),.bn-art .bn-tri td:nth-child(5){width:22%} .bn-art .bn-tri th:nth-child(6),.bn-art .bn-tri td:nth-child(6){width:15%} .bn-art .bn-tri thead th,.bn-art .bn-tri tbody td{padding:11px 8px} .bn-art .tri-load{padding:4px 10px} .bn-art .bn-cta-in{text-align:center;margin:26px 0} .bn-lng{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lng h3{margin:.1em 0 .3em} .bn-lng>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-lng br{display:none} .bn-lng p:empty{display:none; margin:0} .lng-q{padding:15px 0; border-top:1px solid var(--bn-border)} .lng-q:first-of-type{border-top:none; padding-top:2px} .bn-art .lng-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .lng-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .lng-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px} .lng-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .lng-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .lng-line span{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .lngv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .lngv-1{display:block; border-left:4px solid var(--bn-blue)} .lngv-2{border-left:4px solid var(--bn-coral)} .lngv-3{border-left:4px solid var(--bn-green)} .lngv-4{border-left:4px solid var(--bn-ink)} .bn-art .lngv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .lngv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .lngv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .lngv p:last-child{margin-bottom:0} .bn-art .lng-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-lng .bn-tablewrap{margin-top:22px} .bn-art .bn-lng table{table-layout:fixed; min-width:620px} .bn-art .bn-lng th:nth-child(1),.bn-art .bn-lng td:nth-child(1){width:26%} .bn-art .bn-lng th:nth-child(2),.bn-art .bn-lng td:nth-child(2){width:28%} .bn-art .bn-lng th:nth-child(3),.bn-art .bn-lng td:nth-child(3){width:32%} .bn-art .bn-lng th:nth-child(4),.bn-art .bn-lng td:nth-child(4){width:14%} .bn-art .bn-lng thead th,.bn-art .bn-lng tbody td{padding:11px 10px} @media(max-width:680px){ .bn-lng{padding:20px 17px} .lng-out{padding:17px 15px} .lng-lines{grid-template-columns:minmax(0,1fr)} } .bn-gem{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:24px 26px;margin:28px 0;box-shadow:var(--bn-sh)} .bn-gem h3{margin:.1em 0 .3em} .bn-gem>p{font-size:16px;color:var(--bn-muted);margin:0 0 18px} .bn-gem br{display:none} .bn-gem p:empty{display:none;margin:0} .gem-q{padding:15px 0;border-top:1px solid var(--bn-border)} .gem-q:first-of-type{border-top:none;padding-top:2px} .bn-art .gem-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45} .gem-out{margin:22px 0 0;border-radius:var(--bn-r-sm);background:var(--bn-sand-2);border:1px solid var(--bn-sand);padding:20px 22px} .giv{display:none;border-radius:var(--bn-r-sm);background:#fff;border:1px solid var(--bn-sand);padding:17px 19px;border-left:4px solid var(--bn-coral)} .giv.on{display:block} .giv0{border-left-color:var(--bn-green)} .giv4{border-left-color:var(--bn-blue)} .bn-art .giv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4} .bn-art .giv b{display:block;font-size:18px;line-height:1.4;color:var(--bn-ink);margin-bottom:8px} .bn-art .giv p{margin:0;font-size:16px;line-height:1.62;color:var(--bn-text)} .bn-gem .bn-tablewrap{margin-top:22px} @media(max-width:680px){.bn-gem{padding:20px 17px}.gem-out{padding:17px 15px}} .bn-gene{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-gene h3{margin:.1em 0 .3em} .bn-gene>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-gene br{display:none} .bn-gene p:empty{display:none; margin:0} .gene-q{padding:15px 0; border-top:1px solid var(--bn-border)} .gene-q:first-of-type{border-top:none; padding-top:2px} .bn-art .gene-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .gene-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .gene-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px} .gene-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .gene-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .gene-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .gene-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .gene-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .gene-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .gene-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .gene-v{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .gene-v.on{display:block} .bn-art .gene-v b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .gene-v p{margin:0; font-size:16px; line-height:1.62} .bn-art .gene-note{margin:14px 0 0; font-size:16px; line-height:1.55; color:var(--bn-muted)} .bn-gene table.gene-data{margin:0 0 4px} .bn-art table.gene-data tbody tr.gene-hit td{background:var(--bn-green-soft)} @media(max-width:680px){ .gene-tiles{grid-template-columns:minmax(0,1fr)} } .bn-pax{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-pax h3{margin:.1em 0 .3em} .bn-pax>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .pax-q{padding:15px 0; border-top:1px solid var(--bn-border)} .pax-q:first-of-type{border-top:none; padding-top:2px} .bn-art .pax-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .pax-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .pax-stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 16px} .pax-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .pax-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .pax-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .pax-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .pax-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .pax-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .paxv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .paxv.on{display:block} .bn-art .paxv em{display:block; font-style:italic; color:var(--bn-muted); font-size:15px; margin:0 0 8px} .bn-art .paxv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .paxv p{margin:0; font-size:16px; line-height:1.62} .pax-note{margin:14px 0 0; font-size:16px; line-height:1.6; color:var(--bn-muted)} @media(max-width:680px){.pax-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:560px){.pax-stats{grid-template-columns:minmax(0,1fr)}}`));document.head.appendChild(s);})();<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<span class=\"bn-klabel\">In short<\/span>\n<ul>\n<li>A <strong>chatbot for the air transport industry<\/strong> is not about answering practical questions faster: it is about absorbing the <strong>contact spikes<\/strong> that a disruption triggers within hours, when phone lines and inboxes explode.<\/li>\n<li>Passengers are already equipped for this channel: <strong>78%<\/strong> say they are willing to pay for end-to-end baggage services and over half of travelers want to deal directly with their airline (SITA 2025, IATA 2025).<\/li>\n<li>The law frames the response window: <strong>Regulation EC 261\/2004<\/strong> requires airlines to inform every passenger of a cancelled flight or a delay of at least two hours, and the <strong>EU AI Act<\/strong> has required, since August 2, 2026, telling people they are talking to a bot.<\/li>\n<li>On the budget side, the no-code route starts at <strong>\u20ac0<\/strong> (Botnation\u2019s Free plan), the grid moving up to \u20ac39 then \u20ac59 per month, while custom builds remain quoted on demand.<\/li>\n<\/ul>\n<\/div>\n<p>A flight gets cancelled because of a storm, and within the hour several thousand passengers want the same thing at the same time: to know whether their flight is leaving, where to spend the night, and who refunds what. French airports handled 49.8 million passengers in the second quarter of 2026 alone, and the DGAC, which publishes that figure, also notes that domestic traffic in France has fallen back to its early-1980s level (Q2 2026 quarterly note, retrieved September 7, 2026). Demand contracts and shifts; contact volume, however, never spreads itself out. It arrives in waves.<\/p>\n<p>This is where the chatbot changes nature. On an e-commerce site, a bot handles a steady flow of questions. In aviation, it absorbs brutal variance: two quiet weeks, then a weather disruption that multiplies inbound requests tenfold in a single morning. A call center staffs for the average and suffers at the peak; a conversational agent sizes for the peak at no marginal cost. Provided you know precisely where the line sits between what the bot closes on its own, what requires a transactional integration, and what must escalate to a human with the right attachments.<\/p>\n<p>This article reviews the whole topic with industry figures: what passengers expect, the seven use cases that pay off, the technical boundary (PNR, DCS, APIs), the legal information duties, field evidence such as Air Caraibes\u2019 Camille assistant, a contact-spike simulator you can run with your own volumes, and a real cost grid.<\/p>\n<p class=\"bn-cta-in\"><a class=\"bn-cta-btn\" href=\"https:\/\/start.botnation.ai\/login\">Create your chatbot for free<\/a><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87_1 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Summary<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Air_transport_the_champion_of_contact_spikes\" >Air transport, the champion of contact spikes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#What_passengers_accept_and_refuse_in_2026\" >What passengers accept (and refuse) in 2026<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#The_seven_use_cases_that_pay_off\" >The seven use cases that pay off<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#The_transactional_boundary_PNR_DCS_and_integrations\" >The transactional boundary: PNR, DCS and integrations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Delays_and_cancellations_what_the_law_requires_you_to_communicate\" >Delays and cancellations: what the law requires you to communicate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Air_Caraibes_SITA_what_the_field_already_measures\" >Air Caraibes, SITA: what the field already measures<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#The_simulator_how_many_contacts_will_your_next_disruption_generate\" >The simulator: how many contacts will your next disruption generate?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Your_next_disruption_in_contact_volume\" >Your next disruption, in contact volume<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Six_steps_to_a_deployment_that_holds_the_peak\" >Six steps to a deployment that holds the peak<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#The_four_aviation-specific_traps\" >The four aviation-specific traps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#How_much_does_a_chatbot_for_air_transport_cost\" >How much does a chatbot for air transport cost?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Frequently_asked_questions\" >Frequently asked questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#What_to_remember\" >What to remember<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/botnation.ai\/en\/air-transport-chatbot\/#Start_with_the_twenty_requests_of_your_next_disruption\" >Start with the twenty requests of your next disruption<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"pression\"><span class=\"ez-toc-section\" id=\"Air_transport_the_champion_of_contact_spikes\"><\/span>Air transport, the champion of contact spikes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The first characteristic of the sector fits in one sentence: demand for air travel is volatile, and demand for contact is even more so. The DGAC quarterly note covering Q2 2026 describes a one-million-passenger drop in three months, attributed to the Middle East crisis and the partial closure of Basel-Mulhouse, and compares that decline to only six crises since 1990, from the Gulf War to the Eyjafjoll eruption. For an airline customer service team, each such episode is an explosion of contacts concentrated within a few hours: cascading delays, stranded connecting passengers, diverted baggage.<\/p>\n<figure class=\"bn-fig\"><img fetchpriority=\"high\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-transport-aerien-shot-dgac.jpg\" alt=\"DGAC quarterly note for Q2 2026: 49.8 million passengers, down 1.9 percent year on year\" decoding=\"async\" width=\"1236\" height=\"1600\"><figcaption>The DGAC measures the sector\u2019s volatility quarter after quarter: 49.8 million passengers in Q2 2026, down 1.9% year on year, with domestic traffic back at its early-1980s level. Published in French only.<\/figcaption><\/figure>\n<p>Second characteristic: the industry has already invested massively in AI, which changes the question asked of the chatbot. In its <em>Air Transport IT Insights 2025<\/em> survey, SITA reports that <strong>83% of airlines use AI<\/strong> for operational decisions and passenger services, and that <strong>51% use it to predict delays and disruption<\/strong>, within an annual IT spend of about 36 billion dollars. Predicting the disruption is well on its way to being industrialized; answering the passengers it upsets remains the link that overflows.<\/p>\n<p>Third characteristic, the most important one for what follows: in aviation, a late answer is not just a poor customer experience, it is a <strong>missed legal obligation<\/strong>. European regulation requires informing the passenger of a cancelled flight or a delay of at least two hours, with specific content. We come back to this below, because it is what turns a chatbot project into a compliance project.<\/p>\n<h2 id=\"attentes\"><span class=\"ez-toc-section\" id=\"What_passengers_accept_and_refuse_in_2026\"><\/span>What passengers accept (and refuse) in 2026<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Passenger surveys published since the fall of 2025 converge: travelers are equipped, mobile, and asking for self-service, with one caveat that deserves a close reading of the numbers.<\/p>\n<p>SITA\u2019s <em>Passenger IT Insights 2025<\/em> survey (\u201cThe Travelers\u2019 Voice\u201d, published on October 6, 2025 from more than 7,500 passengers surveyed in 25 countries) measures that <strong>78% of passengers would be willing to pay for end-to-end baggage services<\/strong>, and that nearly 80% would accept storing their passport on their phone. The same survey has two travelers out of three asking for faster airport processing. The demand is there, including on the commercial side.<\/p>\n<p>The <strong>2024 IATA Global Passenger Survey<\/strong> (published on October 30, 2024) adds a decisive data point for the conversational channel: <strong>70% of passengers would be more likely to check in a bag if they could do so in advance<\/strong>, and they set tight time ceilings: 74% allow at most 45 minutes before boarding with a checked bag, and 70% allow 30 minutes without one. The 2025 edition of the same survey (November 5, 2025, over 10,000 respondents in more than 200 countries) adds that <strong>54% of travelers want to deal directly with their airline<\/strong>, and that half of passengers have already used biometrics at an airport.<\/p>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>78%<\/b><span>of passengers willing to pay for end-to-end baggage services (SITA, 2025)<\/span><\/div>\n<div class=\"bn-stat\"><b>54%<\/b><span>want to deal directly with their airline (IATA, 2025)<\/span><\/div>\n<div class=\"bn-stat\"><b>70%<\/b><span>would check a bag in advance if they could (IATA, 2024)<\/span><\/div>\n<\/div>\n<p>The correct reading of these three figures is not \u201cpassengers want a chatbot\u201d. It is: passengers want tasks done (checking in, tracking a bag, being notified), on their phone, without queuing. The bot is the cheapest channel to give them that, but it is judged on the task completed, not on the conversation. An assistant that chats without closing the ticket is one more cost.<\/p>\n<h2 id=\"usages\"><span class=\"ez-toc-section\" id=\"The_seven_use_cases_that_pay_off\"><\/span>The seven use cases that pay off<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Cross-referencing the passenger expectations above with what airlines actually deploy, seven use cases stand out. Their common point: each one replaces a queue or an inbound call with a measurable automated task.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Use case<\/th>\n<th>What the chatbot does<\/th>\n<th>Entry condition<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Flight status and boarding gate<\/td>\n<td>Reports departure, gate and delay; sends a proactive notification as soon as things change<\/td>\n<td>Flight status data feed (airline or handler API)<\/td>\n<\/tr>\n<tr>\n<td>Check-in and boarding pass<\/td>\n<td>Guides check-in, reminds passengers of slots, resends the boarding pass link<\/td>\n<td>Light link to the existing check-in journey<\/td>\n<\/tr>\n<tr>\n<td>Baggage before the flight<\/td>\n<td>Explains the rules, sells the baggage option, confirms bag check-in<\/td>\n<td>FAQ + online payment<\/td>\n<\/tr>\n<tr>\n<td>Delayed or damaged baggage<\/td>\n<td>Takes the declaration, issues a file number, keeps the passenger informed<\/td>\n<td>Connection to the baggage tracing system (WorldTracer type) or substitute procedure<\/td>\n<\/tr>\n<tr>\n<td>Claims and passenger rights<\/td>\n<td>Qualifies the request, gathers the documents, writes up and routes the file<\/td>\n<td>EC 261 rules frozen in the knowledge base + human escalation<\/td>\n<\/tr>\n<tr>\n<td>Airport services<\/td>\n<td>Answers on PRM assistance, parking, lounges, minimum connection times<\/td>\n<td>Up-to-date editorial content<\/td>\n<\/tr>\n<tr>\n<td>Loyalty program<\/td>\n<td>Checks the miles balance, explains redemptions, sends offer reminders<\/td>\n<td>Program connection or member identification<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Two of these use cases (flight status, baggage) gain from being designed as <strong>outbound notifications<\/strong> rather than inbound questions: the bot contacts the passenger when the flight changes or the suitcase is found. Half of airlines plan to give passengers real-time baggage updates anyway, according to SITA\u2019s <em>Baggage IT Insights 2026<\/em> report (20th annual edition, 2025 data). A conversational agent covers both directions of the flow within the same scenario count, which is the real economy of the model: the same \u201cbaggage\u201d scenario serves the inbound question and the outbound notification.<\/p>\n<p>To place these use cases in the broader transport landscape (rail, bus, logistics), our article on the <a href=\"https:\/\/botnation.ai\/en\/transport-chatbot\/\">transport chatbot<\/a> details the sector\u2019s six typical missions, including the SNCF passenger-messaging case; this article focuses on aviation specifics. For travelers as such, the logic is close to the <a href=\"https:\/\/botnation.ai\/en\/chatbot-tourism\/\">tourism chatbot<\/a>, with one extra regulatory constraint.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-transport-aerien-b2.jpg\" alt=\"Clay diorama of a boarding gate where a queue of blank message bubbles waits in front of the Botnation robot at its desk\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>A disruption spike, seen from the airport: a queue of messages growing all the way to the desk. The bot exists so the queue empties without extra staff.<\/figcaption><\/figure>\n<h2 id=\"frontiere\"><span class=\"ez-toc-section\" id=\"The_transactional_boundary_PNR_DCS_and_integrations\"><\/span>The transactional boundary: PNR, DCS and integrations<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Here is the distinction that separates a project achievable in weeks from a months-long build. A bot can <strong>inform<\/strong> without touching the airline\u2019s systems: it reads a knowledge base, schedules, rules. It enters the <strong>transactional zone<\/strong> as soon as it must write somewhere: issuing a ticket, modifying a PNR (the booking reference), reissuing after a change, filing a claim with contractual value.<\/p>\n<p>That write goes through specific systems: the PNR lives in the reservation system, flight operations in the DCS (the departure control system), baggage in ground-handling tracing systems. No chatbot vendor \u201cdrives\u201d those systems for you: the bot connects to them through APIs or webhooks, where an opening exists, or stays in <strong>delegation mode<\/strong> where it does not, meaning it assembles the complete request and hands it over to the entitled team.<\/p>\n<p>On this point, honesty beats a promise: a no-code platform like <strong>Botnation<\/strong> covers information, qualification and notification use cases on its own, with the API connectors available in the catalog. For a bot to actually issue or modify a ticket, you need an integration project with the airline\u2019s systems, run with the IT teams and, most often, a scoping phase first: this is exactly what Botnation\u2019s Enterprise offer takes on, quoted on demand, from design to build. The dividing line is easy to set in committee: <em>read-only<\/em> first, <em>write<\/em> later, never the other way around.<\/p>\n<p>If your technical team wants to see what such a connection looks like, our article on the <a href=\"https:\/\/botnation.ai\/en\/chatbot-webhook\/\">chatbot webhook<\/a> shows the mechanism step by step, reusable to connect a bot to an internal flight-status or baggage API.<\/p>\n<div class=\"bn-tip\">\n<span class=\"bn-klabel\">The shortcut that saves weeks<\/span>\n<p>Start with read-only intents: flight status, gates, baggage rules, airport services, loyalty lookup. They account for most inbound contacts and require no write into the PNR. The well-built EC 261 claim comes next, in delegation mode first.<\/p>\n<\/div>\n<h2 id=\"loi\"><span class=\"ez-toc-section\" id=\"Delays_and_cancellations_what_the_law_requires_you_to_communicate\"><\/span>Delays and cancellations: what the law requires you to communicate<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In few industries is the duty to inform as precise as in European aviation. Regulation (EC) No 261\/2004 of February 11, 2004, applicable as such in every Member State, sets three blocks of rights, two of which directly concern communication.<\/p>\n<p>First block, <strong>information<\/strong> itself. Article 14 requires a notice to be displayed at check-in, with wording written by the regulation itself:<\/p>\n<blockquote>\n<p>\u201cIf you are denied boarding or if your flight is cancelled or delayed for at least two hours, ask at the check-in counter or boarding gate for the text stating your rights, particularly with regard to compensation and assistance\u201d.<\/p>\n<\/blockquote>\n<p>The same Article 14 requires the air carrier that cancels a flight, or suffers a delay of at least two hours, to <strong>hand each affected passenger a written notice<\/strong> setting out the rules for compensation and assistance, together with the contact details of the national enforcement body. Second block, <strong>care<\/strong> (Article 9): meals and refreshments in reasonable relation to the waiting time, hotel accommodation when an extra night is necessary, transport between the airport and the hotel, plus two free phone calls or electronic messages, with particular attention to persons with reduced mobility and unaccompanied children. Third block, the <strong>fixed compensation<\/strong> (Article 7), whose amounts depend on flight distance and can be halved when a fast re-routing is offered.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Flight distance<\/th>\n<th>Fixed compensation (Article 7)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1,500 kilometers or less<\/td>\n<td>EUR 250<\/td>\n<\/tr>\n<tr>\n<td>Intra-Community flights over 1,500 km and other flights between 1,500 and 3,500 km<\/td>\n<td>EUR 400<\/td>\n<\/tr>\n<tr>\n<td>Beyond (all other flights)<\/td>\n<td>EUR 600<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Those amounts are reduced by 50% when the offered re-routing arrives within a bounded delay (two, three or four hours depending on distance), and compensation can be excluded if the airline proves the cancellation stems from extraordinary circumstances, a notion strictly framed by case law. This is precisely why a chatbot can <strong>relay<\/strong> these rules without risk: it recalls the thresholds, it does not rule on the file.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-air-transport-chatbot-shot-eurlex-en.jpg\" alt=\"Article 7 of Regulation EC 261-2004 on EUR-Lex: compensation amounts of EUR 250, 400 and 600 depending on distance\" decoding=\"async\" width=\"1280\" height=\"1700\"><figcaption>Article 7 of Regulation EC 261\/2004 on EUR-Lex, retrieved on September 7, 2026: EUR 250, 400 or 600 depending on distance, with the reduction rule for fast re-routing.<\/figcaption><\/figure>\n<div class=\"bn-warn\">\n<span class=\"bn-klabel\">The limit to write into the specification<\/span>\n<p>The bot relays information and helps assemble the file; it does not <strong>decide<\/strong> compensation or whether a circumstance is extraordinary. Those decisions stay human and documented. A bot that \u201ccomputes\u201d an entitlement to compensation based on circumstances it has not verified creates legal risk, not a service.<\/p>\n<\/div>\n<p>Second legal layer, more recent: <strong>Regulation (EU) 2024\/1689<\/strong> on artificial intelligence, whose Article 50(1) has applied since August 2, 2026. It requires that people interacting with an AI system intended to dialogue directly with them be informed of that interaction, unless it is obvious to a reasonably attentive person. In practice: a clear \u201cyou are talking to an automated assistant\u201d mention at the start of the conversation, and a simple path to a human. The official English wording of the Official Journal keeps it as a design requirement: AI systems must be designed and developed \u201cin such a way that the natural persons concerned are informed that they are interacting with an AI system\u201d.<\/p>\n<h2 id=\"preuves\"><span class=\"ez-toc-section\" id=\"Air_Caraibes_SITA_what_the_field_already_measures\"><\/span>Air Caraibes, SITA: what the field already measures<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The industry is past the confidential-pilot stage, and two sets of published facts show it.<\/p>\n<p>First example, a French one: <strong>Air Caraibes<\/strong> has deployed an assistant named <strong>Camille<\/strong> on its website, built with specialist FCB.ai. Relaying the airline\u2019s announcement on October 20, 2025, Air Journal reports that after six months of operation Camille handles <strong>more than 800 conversations a day<\/strong>, with a claimed satisfaction rate of 99.7% and an engagement rate of 82%, with 24\/7 availability on digital channels. The topics covered are exactly those of our use-case table: flights, baggage, onboard services, loyalty program and check-in formalities, with the stated goal of freeing human agents from frequent questions so they can focus on complex requests. The last two figures are company claims, not independent measurements; they stand as the order of magnitude of a successful deployment at a mid-size airline.<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-transport-aerien-shot-camille.jpg\" alt=\"Air Journal article of October 20, 2025: Air Caraibes launches Camille, its virtual assistant, over 800 conversations a day\" decoding=\"async\" width=\"1280\" height=\"1600\"><figcaption>Air Journal\u2019s October 20, 2025 article on Camille, Air Caraibes\u2019 assistant: over 800 conversations a day covering flights, baggage, onboard services, loyalty and check-in. Published in French only.<\/figcaption><\/figure>\n<p>Second series, the industry\u2019s baggage measurement, the best tracer of operational irregularity. SITA\u2019s <em>Baggage IT Insights 2026<\/em> report, the 20th edition of the industry benchmark, puts 2025 numbers as follows: a mishandled baggage rate down <strong>23%<\/strong> over the year, still <strong>24 million suitcases<\/strong> mishandled for about 5 billion passengers, and a cost of <strong>6.3 billion dollars a year<\/strong>, that is 260 dollars per affected bag. The report translates that cost into management language: with an average net profit of 8 dollars per passenger, a single mishandled bag wipes out the profit of more than thirty seats sold. Transfers remain the leading cause (39% of cases in 2025), and the report notes that three airlines in four plan to invest in AI over the next two years.<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-transport-aerien-shot-sita.jpg\" alt=\"SITA 2026 press release: mishandled bag rate down 23 percent in 2025, a 6.3 billion dollar yearly cost\" decoding=\"async\" width=\"1280\" height=\"1700\"><figcaption>SITA\u2019s press release on the Baggage IT Insights 2026 report: 24 million mishandled bags in 2025 for 5 billion passengers, a 6.3 billion dollar yearly cost, 260 dollars per bag.<\/figcaption><\/figure>\n<p>In the same source, two measured results show what connected data changes for the passenger: the Apple location-sharing integration into SITA\u2019s WorldTracer cut <strong>90%<\/strong> of permanently lost luggage in its first year and shortened recovery of delayed bags by <strong>26%<\/strong>, and Thai Airways\u2019 Auto Reflight turned a three-minute re-routing task into one second per bag across nine airports. In conversational terms: the \u201ctell the passenger where their bag is\u201d part becomes automatable end to end, and that is exactly the scenario where the chatbot absorbs the most inbound contacts.<\/p>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>24 M<\/b><span>bags mishandled in 2025 (SITA)<\/span><\/div>\n<div class=\"bn-stat\"><b>23%<\/b><span>year-on-year drop in the mishandling rate (SITA)<\/span><\/div>\n<div class=\"bn-stat\"><b>800<\/b><span>conversations a day announced by Air Caraibes\u2019 assistant<\/span><\/div>\n<\/div>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-transport-aerien-b1.jpg\" alt=\"Airline agent seen from behind, coral headset, in front of two screens filled with blank conversation bubbles\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>The realistic target of a chatbot project: not removing agents, but agent screens that no longer carry anything but complex requests.<\/figcaption><\/figure>\n<h2 id=\"outil\"><span class=\"ez-toc-section\" id=\"The_simulator_how_many_contacts_will_your_next_disruption_generate\"><\/span>The simulator: how many contacts will your next disruption generate?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The question raised in committee is never \u201cshould we get a chatbot\u201d but \u201cwhat volume must the automated channel absorb on the day\u201d. The simulator below estimates it from four settings: the disruption scenario, the share of affected passengers who get in touch, the number of contacts per passenger, and the share the bot closes without a human. It returns the total volume, the hourly rate at the peak, and the human-agent equivalent over a four-hour window, with and without the bot.<\/p>\n<div class=\"bn-pax\" id=\"bn-pax\" data-v0=\"180\" data-v1=\"1200\" data-v2=\"4200\" data-r1=\"fewer than 3 extra agents over the 4-hour window\" data-r2=\"3 to 8 extra agents over the 4-hour window\" data-r3=\"more than 8 extra agents over the 4-hour window\">\n<h3><span class=\"ez-toc-section\" id=\"Your_next_disruption_in_contact_volume\"><\/span>Your next disruption, in contact volume<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Set the four questions: the simulator applies an order-of-magnitude model described under the result.<\/p>\n<div class=\"pax-q\">\n<p class=\"pax-qt\">1. Disruption scenario<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"paxf-s0\"><input type=\"radio\" name=\"paxS\" id=\"paxf-s0\" data-p=\"0\" checked>One cancelled flight, 180 passengers<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-s1\"><input type=\"radio\" name=\"paxS\" id=\"paxf-s1\" data-p=\"1\">A burst of 8 flights<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-s2\"><input type=\"radio\" name=\"paxS\" id=\"paxf-s2\" data-p=\"2\">A disrupted day, 30 flights<\/label>\n<\/div>\n<\/div>\n<div class=\"pax-q\">\n<p class=\"pax-qt\">2. Share of affected passengers who get in touch<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"paxf-c0\"><input type=\"radio\" name=\"paxC\" id=\"paxf-c0\" data-p=\"0\" checked>30%<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-c1\"><input type=\"radio\" name=\"paxC\" id=\"paxf-c1\" data-p=\"1\">50%<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-c2\"><input type=\"radio\" name=\"paxC\" id=\"paxf-c2\" data-p=\"2\">70%<\/label>\n<\/div>\n<\/div>\n<div class=\"pax-q\">\n<p class=\"pax-qt\">3. Contacts per affected passenger<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"paxf-n0\"><input type=\"radio\" name=\"paxN\" id=\"paxf-n0\" data-p=\"0\" checked>Just one<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-n1\"><input type=\"radio\" name=\"paxN\" id=\"paxf-n1\" data-p=\"1\">Two<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-n2\"><input type=\"radio\" name=\"paxN\" id=\"paxf-n2\" data-p=\"2\">Three<\/label>\n<\/div>\n<\/div>\n<div class=\"pax-q\">\n<p class=\"pax-qt\">4. Share of contacts the bot closes without a human<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"paxf-a0\"><input type=\"radio\" name=\"paxA\" id=\"paxf-a0\" data-p=\"0\" checked>40%<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-a1\"><input type=\"radio\" name=\"paxA\" id=\"paxf-a1\" data-p=\"1\">60%<\/label><br>\n<label class=\"cdc-chip\" for=\"paxf-a2\"><input type=\"radio\" name=\"paxA\" id=\"paxf-a2\" data-p=\"2\">80%<\/label>\n<\/div>\n<\/div>\n<div class=\"pax-out\">\n<div class=\"pax-stats\">\n<div class=\"pax-stat\"><b id=\"pax-tot\">54<\/b><span>contacts generated<\/span><\/div>\n<div class=\"pax-stat\"><b id=\"pax-h\">14<\/b><span>contacts per hour at the peak<\/span><\/div>\n<div class=\"pax-stat\"><b id=\"pax-a0\">1<\/b><span>agents needed without the bot<\/span><\/div>\n<div class=\"pax-stat\"><b id=\"pax-a1\">1<\/b><span>agents needed with the bot<\/span><\/div>\n<\/div>\n<div class=\"paxv paxv-1\" id=\"paxv-1\"><em>Rule applied: fewer than 3 extra agents over the window<\/em><b>The peak stays absorbable.<\/b>\n<p>With the absorption rate you picked, the remaining human agents hold the disruption window with light backup. This is the typical profile of read-only intents handled by the bot: flight status, gates, baggage questions, airport services.<\/p>\n<\/div>\n<div class=\"paxv paxv-2\" id=\"paxv-2\"><em>Rule applied: 3 to 8 extra agents over the window<\/em><b>One-off backup required.<\/b>\n<p>The bot absorbs a major share of the flow but the residual fraction needs a bounded human backup. This is the cruising regime of a deployment that also handles claims in delegation mode: plan the backup staffing and the virtual queue from this level.<\/p>\n<\/div>\n<div class=\"paxv paxv-3\" id=\"paxv-3\"><em>Rule applied: more than 8 extra agents over the window<\/em><b>Overflow: the human channel alone will not hold.<\/b>\n<p>At the absorption level chosen, the residual fraction exceeds what a reasonable one-off human backup can handle in four hours. Two levers exist: raise the bot\u2019s absorption rate (extra scenarios, outbound notifications that cut inbound questions) or smooth the load with a scheduled callback. This is the regime of disrupted days with 30 flights and more.<\/p>\n<\/div>\n<p class=\"pax-note\">Model assumptions: a 4-hour disruption window; 6 minutes of human handling per contact; average passengers per flight of 180, 150 and 140 depending on the scenario; one agent handles at most 40 contacts per window. These are sizing hypotheses, to be replaced by your own measurements from the first pilot onward.<\/p>\n<\/div>\n<\/div>\n<p>Two lessons come out of playing with the settings. First, the lever is not volume but the <strong>absorption rate<\/strong>: moving from 40% to 80% of contacts closed by the bot cuts the backup staffing by three, for the same disruption. Second, the <strong>outbound notification<\/strong> acts on the second question: informing before the passenger reaches out reduces the share who writes in, and that is often the most profitable gain of an aviation conversational project.<\/p>\n<h2 id=\"deploiement\"><span class=\"ez-toc-section\" id=\"Six_steps_to_a_deployment_that_holds_the_peak\"><\/span>Six steps to a deployment that holds the peak<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"bn-steps\">\n<ol>\n<li><strong>Count the intents over twelve months.<\/strong> Call center logs, emails, social media messages: rank them by intent and spot the seasonality. In aviation the distribution is double: a steady base (baggage, check-in, loyalty) and spikes (disruption). The peak sizes the project, not the base.<\/li>\n<li><strong>Split read-only from write.<\/strong> Tag every intent: pure information, or an operation that touches the PNR or the DCS. The first ones go into the launch batch, the second ones into the integration project, with a delegation mode in the meantime.<\/li>\n<li><strong>Write the twenty day-of scenarios.<\/strong> A two-hour delay, a cancellation the night before, a gate change, a bag that did not arrive, a missed connection, a hotel night: these are the ones that arrive in bursts. Test them in bursts too, not one by one.<\/li>\n<li><strong>Connect the sources of truth.<\/strong> Flight status, baggage system, FAQ base: an aviation bot that answers from a frozen PDF manufactures errors at the exact moment the passenger is most tense. Every real-time data point must come from its source.<\/li>\n<li><strong>Engrave the legal frame.<\/strong> A \u201cyou are talking to an automated assistant\u201d mention, the EC 261 notice content within reach of the conversation, documented human escalation, quoted amounts without invention. The bot informs, it does not rule.<\/li>\n<li><strong>Rehearse the peak before it happens.<\/strong> Load testing of the channel, a mock-cancellation exercise with the service team, measured no-human closure rate, first-response time and reuse rate. Then widen the intents, in that order.<\/li>\n<\/ol>\n<\/div>\n<p>This sequence matches the six-step method detailed in our <a href=\"https:\/\/botnation.ai\/en\/transport-chatbot\/\">transport chatbot<\/a> article, written for the whole transport sector; the aviation difference sits in step 5, where the regulatory window is tighter, and in step 6\u2019s load test, where variance is far more brutal.<\/p>\n<h2 id=\"pieges\"><span class=\"ez-toc-section\" id=\"The_four_aviation-specific_traps\"><\/span>The four aviation-specific traps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Letting the language model invent passenger rights.<\/strong> The amounts and deadlines of Regulation EC 261 are public, bounded and stable: they belong in the knowledge base, never generated. A generative model that \u201ccomputes\u201d a compensation entitlement invents litigation. Answers with legal stakes are scripted, not generated.<\/li>\n<li><strong>Forgetting that the PNR holds personal data.<\/strong> Name, itinerary, contact details, sometimes health data tied to an assistance request: the bot that qualifies a request handles that data. Minimization (ask only what the scenario handles), a defined conversation retention period, an updated processing register: that is the entry ticket, not an option.<\/li>\n<li><strong>Testing the bot on a quiet Tuesday.<\/strong> The credibility of an aviation channel is lost on the day of the storm: slow answers, saturated scenarios, lost escalations. The step-6 mock-disruption exercise exists for that reason, and it must reproduce the hourly rate of the peak, not just the volume.<\/li>\n<li><strong>Ignoring the multilingual dimension.<\/strong> An international passenger on a European flight does not always write in the site\u2019s language. Modern platforms handle language detection, but sensitive scenarios (claim, baggage) get proofread in every language, and legal amounts get written without ambiguity. Our <a href=\"https:\/\/botnation.ai\/en\/chatbot-translation\/\">translation chatbot<\/a> article compares the three possible architectures for this need, from the multilingual base to the connected translation engine.<\/li>\n<\/ul>\n<h2 id=\"cout\"><span class=\"ez-toc-section\" id=\"How_much_does_a_chatbot_for_air_transport_cost\"><\/span>How much does a chatbot for air transport cost?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The cost range depends above all on the transactional boundary described above: an omnichannel information assistant gets built on a no-code platform with no integration budget, a bot connected to the reservation system gets priced like an IT project. On the platform side, Botnation\u2019s public grid, retrieved on September 7, 2026, fits in four lines:<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-air-transport-chatbot-shot-pricing.jpg\" alt=\"Botnation pricing grid: For Free 0 euro, Basic 39 euros per month, Pro 59 euros per month, Enterprise on demand\" decoding=\"async\" width=\"1280\" height=\"1300\"><figcaption>Botnation\u2019s pricing grid retrieved on September 7, 2026: the For Free plan at \u20ac0, Basic at \u20ac39\/month (500 users and 500 free AI credits, once), Pro at \u20ac59\/month, and the Enterprise plan on demand with chatbot creation management services.<\/figcaption><\/figure>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Plan<\/th>\n<th>Monthly price<\/th>\n<th>What it includes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>For Free<\/td>\n<td>\u20ac0<\/td>\n<td>Unlimited agents, free agents<\/td>\n<\/tr>\n<tr>\n<td>Basic<\/td>\n<td>\u20ac39<\/td>\n<td>500 users, full features, analytics, dedicated support, 500 free AI credits (once)<\/td>\n<\/tr>\n<tr>\n<td>Pro<\/td>\n<td>\u20ac59<\/td>\n<td>1,000 users, same features, 1,000 free AI credits (once)<\/td>\n<\/tr>\n<tr>\n<td>Entreprise<\/td>\n<td>On demand<\/td>\n<td>Dedicated account manager, personalised onboarding, premium client support, chatbot creation management, unlimited agents<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Prices exclude taxes. AI usage is consumed as credits, bought on top: 1,000 credits for \u20ac25, 5,000 for \u20ac100, 15,000 for \u20ac250 and 60,000 for \u20ac900 (retrieved the same day), an extra user beyond the plan costing \u20ac0.05 per month. Credits pay for the platform\u2019s AI features (GPT agents, image generation, SMS sending), not for the running of classic scenarios. For an airline or an airport, the budget line to fund first is neither the license nor the credits: it is writing and maintaining the peak scenarios, on which every gain quantified above depends.<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-air-transport-chatbot-shot-pricing2.jpg\" alt=\"Botnation credit packs: 1,000 credits for 25 euros, 5,000 for 100 euros, 15,000 for 250 euros, 60,000 for 900 euros\" decoding=\"async\" width=\"1280\" height=\"1000\"><figcaption>Botnation\u2019s AI credit packs, retrieved on September 7, 2026: from 1,000 credits for \u20ac25 up to 60,000 credits for \u20ac900, prices excluding taxes.<\/figcaption><\/figure>\n<p>The custom build service (Enterprise plan) is quoted on demand: the range depends on the integration scope, the number of languages and the systems to connect. Nobody can quote it honestly without that scoping, and a generic range published on the web is no better than a horoscope estimate.<\/p>\n<h2 id=\"faq\"><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"bn-faq\">\n<details>\n<summary>Can a chatbot book or change a ticket on its own?<\/summary>\n<p>Not without an integration. Booking and changing a ticket writes into the airline\u2019s reservation system (the PNR), which requires an API opening and an integration project scoped with the IT teams. Without that integration, the bot runs in delegation mode: it assembles the complete request (flight, passenger, requested change) and hands it to the entitled team, which already cuts human handling time.<\/p>\n<\/details>\n<details>\n<summary>What happens on the day 10,000 passengers write in at once?<\/summary>\n<p>That is precisely the scenario this channel is sized for. A conversational platform scales elastically, where a call center caps at its number of positions. The two things to check upstream: the throughput of the connected data sources (flight status, baggage), and the routing of the residual fraction to agents, with a virtual queue that calls the passenger back rather than making them wait.<\/p>\n<\/details>\n<details>\n<summary>Must the bot tell the passenger it is an AI?<\/summary>\n<p>Yes: since August 2, 2026, Article 50(1) of Regulation (EU) 2024\/1689 requires that people be informed they are interacting with an AI system, unless that is obvious from the context. A mention at the start of the conversation and a simple route to a human satisfy this design requirement.<\/p>\n<\/details>\n<details>\n<summary>On which channels do passengers expect the bot?<\/summary>\n<p>On the ones they already use: the airline\u2019s website and app remain the base, but WhatsApp and Messenger carry a growing share of travel contacts, especially flight and baggage notifications. A single Botnation scenario deploys on all these channels without being rewritten, so you never pay for the scenario twice.<\/p>\n<\/details>\n<details>\n<summary>How much does an aviation chatbot on Botnation cost?<\/summary>\n<p>The For Free plan (\u20ac0) lets you prototype the first scenarios. Basic (\u20ac39\/month) and Pro (\u20ac59\/month) cover a full information deployment with analytics and dedicated support; advanced AI features consume credits sold from \u20ac25 to \u20ac900 per pack. For an airline that wants its systems connected or the project built for it, the Enterprise plan prices the project on demand.<\/p>\n<\/details>\n<details>\n<summary>Do you need a language model or written scenarios?<\/summary>\n<p>Both, but not in the same place. Written scenarios carry the sensitive journeys: the EC 261 claim, baggage, changes, where the answer must be exact and stable. The language model serves the long tail of free questions and rephrasing, connected to the same knowledge base. Any answer with legal stakes gets scripted, not generated.<\/p>\n<\/details>\n<details>\n<summary>Can the bot handle an EC 261 claim?<\/summary>\n<p>It can receive it and prepare it: qualify the flight, the date, the disruption, gather the documents and write up a complete file handed to the entitled service. It cannot decide the entitlement to compensation on its own, notably because assessing \u201cextraordinary circumstances\u201d stays a documented judgment. That split, preparing bot and deciding human, is also what data protection authorities expect from automated processing.<\/p>\n<\/details>\n<details>\n<summary>How long does it take to put an aviation chatbot into service?<\/summary>\n<p>For a read-only scope on a no-code platform, the twenty peak scenarios get built in a few weeks, the constraint being the quality of the content you provide rather than the technology. A connection to the airline\u2019s systems adds the integration project lead time, driven by the IT teams. The right sequence remains: information first, claims in delegation next, transactions once the API opening is ready.<\/p>\n<\/details>\n<\/div>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"What_to_remember\"><\/span>What to remember<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A chatbot for the air transport industry is not justified by the fashion for assistants, but by the very shape of the sector\u2019s demand: contact volumes that arrive in waves, equipped passengers asking for tasks to be done, and a law that sets the deadline and the content of the information to deliver. The serious project starts with read-only intents, measures its no-human closure rate, then pushes the transactional boundary with the IT teams, keeping decisions with legal stakes on the human side.<\/p>\n<p>Air Caraibes announces more than 800 conversations a day, SITA counts 24 million mishandled bags for 5 billion passengers: the field where the bot absorbs the variance already exists. What remains is to write the day-of scenarios before the day arrives.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Start_with_the_twenty_requests_of_your_next_disruption\"><\/span>Start with the twenty requests of your next disruption<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Create your first agent for free, connect your flight and baggage FAQ, and measure what the bot closes without a human before widening the scope. Our chatbot creation experts can also build the project with you, from design to integration.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/products\/client-support\/\">Discover the client support chatbot<\/a><\/p>\n<p><a href=\"https:\/\/botnation.ai\/en\/contact\/\" style=\"color:#f6c9c6\">Or get a quote for your aviation project<\/a><\/p>\n<\/div>\n<p class=\"bn-src\"><strong>Sources.<\/strong> DGAC, Q2 2026 quarterly note of the statistics and forecasts sub-directorate (49.8 million passengers in Q2 2026, down 1.9% year on year, domestic traffic back at its early-1980s level), retrieved on September 7, 2026, published in French only; SITA, <em>Baggage IT Insights 2026<\/em> report (20th edition, 2025 data: mishandling rate down 23%, 24 million bags, 6.3 billion dollar cost, 260 dollars per bag, average net profit of 8 dollars per passenger, transfers at 39% of cases, three airlines in four ready to invest in AI) and associated press release, retrieved on September 7, 2026; SITA, <em>Air Transport IT Insights 2025<\/em>, airline chapter (83% AI usage for operational decisions and passenger services, 51% for delay prediction, 36 billion dollars of IT spend); SITA, <em>Passenger IT Insights 2025<\/em> (\u201cThe Travelers\u2019 Voice\u201d, 7,500 passengers, 25 countries, published on October 6, 2025: 78% willing to pay for end-to-end baggage services); IATA, <em>Global Passenger Survey<\/em> 2024 (published on October 30, 2024: 70% advance bag check-in, 45- and 30-minute ceilings) and 2025 (published on November 5, 2025, over 10,000 respondents: 54% dealing directly with the airline, 50% biometrics usage); Regulation (EC) No 261\/2004 of February 11, 2004, Articles 7, 9 and 14, English text read on EUR-Lex on September 7, 2026; Regulation (EU) 2024\/1689 of June 13, 2024, Article 50(1), applicable since August 2, 2026, English text read on EUR-Lex on September 7, 2026; Air Journal, \u201cService client 2.0 : Air Caraibes lance Camille, son assistant virtuel\u201d, October 20, 2025 (figures announced by the airline); Botnation pricing grid and credit packs, retrieved on September 7, 2026.<\/p>\n<\/div>\n<p><script>(function(){var r=document.getElementById(\"bn-pax\");if(!r){return;}function fmt(x){var s=String(x);var o=\"\";while(s.length>3){o=\",\"+s.slice(-3)+o;s=s.slice(0,-3);}return s+o;}function val(n){var e=r.querySelector(\"input[name='\"+n+\"']:checked\");return e?parseInt(e.getAttribute(\"data-p\"),10):0;}function up(){var s=val(\"paxS\"),ci=val(\"paxC\"),n=val(\"paxN\"),a=val(\"paxA\");var v=parseInt(r.getAttribute(\"data-v\"+s),10);var c=[30,50,70][ci];var k=[1,2,3][n];var av=[40,60,80][a];var t=Math.round(v*c*k\/100);var h=Math.round(t\/4);var a0=Math.round(t\/40);var rest=t*(100-av)\/100;var a1=Math.round(rest\/40);document.getElementById(\"pax-tot\").textContent=fmt(t);document.getElementById(\"pax-h\").textContent=fmt(h);document.getElementById(\"pax-a0\").textContent=fmt(a0);document.getElementById(\"pax-a1\").textContent=fmt(a1);var lvl=1;if(a1>2){lvl=2;}if(a1>8){lvl=3;}var i;for(i=1;4>i;i++){document.getElementById(\"paxv-\"+i).style.display=(i===lvl?\"block\":\"none\");}}r.addEventListener(\"change\",up);up();})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In short A chatbot for the air transport industry is not about answering practical questions faster: it is about absorbing the contact spikes that a disruption triggers within hours, when phone lines and inboxes explode. Passengers are already equipped for this channel: 78% say they are willing to pay for end-to-end baggage services and over [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31578,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[362],"tags":[],"class_list":["post-31593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/comments?post=31593"}],"version-history":[{"count":1,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31593\/revisions"}],"predecessor-version":[{"id":31594,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31593\/revisions\/31594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media\/31578"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media?parent=31593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/categories?post=31593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/tags?post=31593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}