{"id":26314,"date":"2026-08-30T21:22:43","date_gmt":"2026-08-30T21:22:43","guid":{"rendered":"https:\/\/maroczain.com\/?page_id=26314"},"modified":"2026-08-30T21:41:58","modified_gmt":"2026-08-30T21:41:58","slug":"amadeus-training-center","status":"publish","type":"page","link":"https:\/\/maroczain.com\/en\/amadeus-training-center\/","title":{"rendered":"AMADEUS TRAINING CENTER"},"content":{"rendered":"\n<style>\n#mza-amadeus-v3, #mza-amadeus-v3 *{box-sizing:border-box}\n#mza-amadeus-v3{width:100%;max-width:1600px;margin:20px auto;font-family:Arial,sans-serif;color:#10213f}\n#mza-amadeus-v3 .hero{padding:30px;border-radius:22px 22px 0 0;background:linear-gradient(135deg,#071d43,#123f84);color:#fff}\n#mza-amadeus-v3 .hero h2{margin:10px 0;font-size:clamp(30px,5vw,58px);color:#fff}\n#mza-amadeus-v3 .badge{display:inline-block;background:#e9c84a;color:#14203b;padding:8px 12px;border-radius:30px;font-weight:800}\n#mza-amadeus-v3 .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px;padding:18px;background:#f4f7fb;border-radius:0 0 22px 22px}\n#mza-amadeus-v3 .terminal{min-width:0;background:#06111f;border-radius:16px;overflow:hidden}\n#mza-amadeus-v3 .top{display:flex;justify-content:space-between;padding:12px 15px;background:#0b1c30;color:#cbd7e3;font-weight:700}\n#mza-amadeus-v3 .status{color:#84f09d}\n#mza-amadeus-v3 .out{min-height:470px;max-height:600px;overflow:auto;padding:18px;color:#e6edf4;font:15px\/1.7 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}\n#mza-amadeus-v3 .ok{color:#84f09d}\n#mza-amadeus-v3 .info{color:#8ac6ff}\n#mza-amadeus-v3 .warn{color:#ffd166}\n#mza-amadeus-v3 form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:12px;background:#0b1c30;align-items:center}\n#mza-amadeus-v3 form span{color:#84f09d;font-weight:900}\n#mza-amadeus-v3 input{width:100%;min-width:0;padding:13px;border:1px solid #35516c;border-radius:9px;background:#081621;color:#fff}\n#mza-amadeus-v3 button{padding:13px 17px;border:0;border-radius:9px;background:#e9c84a;color:#14203b;font-weight:900;cursor:pointer}\n#mza-amadeus-v3 .side{display:grid;gap:12px;align-content:start}\n#mza-amadeus-v3 .card{padding:16px;border:1px solid #dfe6ef;border-radius:14px;background:#fff}\n#mza-amadeus-v3 .card strong{display:block;color:#0b2f6b;margin-bottom:5px}\n@media(max-width:900px){#mza-amadeus-v3 .wrap{grid-template-columns:1fr}}\n@media(max-width:600px){#mza-amadeus-v3{margin:8px auto}#mza-amadeus-v3 .hero{padding:22px 16px}#mza-amadeus-v3 .wrap{padding:10px}#mza-amadeus-v3 .out{min-height:360px;font-size:13px}#mza-amadeus-v3 form{grid-template-columns:auto minmax(0,1fr)}#mza-amadeus-v3 button{grid-column:1\/-1;width:100%}}\n<\/style>\n\n<div id=\"mza-amadeus-v3\">\n  <div class=\"hero\">\n    <span class=\"badge\">AMADEUS TRAINING \u2022 STABLE V3<\/span>\n    <h2>Amadeus Training Master<\/h2>\n    <p>Simulateur p\u00e9dagogique interactif : disponibilit\u00e9, PNR, tarification, ticketing et services.<\/p>\n  <\/div>\n\n  <div class=\"wrap\">\n    <div class=\"terminal\">\n      <div class=\"top\"><span>AMADEUS TRAINING<\/span><span class=\"status\">\u25cf TRAINING MODE<\/span><\/div>\n      <div class=\"out\" id=\"mza3-output\"><div>&gt; JI0001AA\/SU<\/div><div class=\"ok\">SIGN-IN ACCEPTED 0001AA\/SU &#8211; TRAINING MODE<\/div><div class=\"info\">Tapez HE pour afficher l&rsquo;aide.<\/div><\/div>\n      <form id=\"mza3-form\">\n        <span>&gt;<\/span>\n        <input id=\"mza3-input\" type=\"text\" autocomplete=\"off\" placeholder=\"Ex : SN10MARCMNPAR\">\n        <button type=\"submit\">Envoyer<\/button>\n      <\/form>\n    <\/div>\n\n    <div class=\"side\">\n      <div class=\"card\"><strong>Disponibilit\u00e9s<\/strong>SN \u2022 AN \u2022 SO \u2022 LL<\/div>\n      <div class=\"card\"><strong>PNR<\/strong>SS \u2022 NM \u2022 AP \u2022 RF \u2022 ER \u2022 ET \u2022 RT<\/div>\n      <div class=\"card\"><strong>Tarification<\/strong>FQD \u2022 FXP<\/div>\n      <div class=\"card\"><strong>Ticketing<\/strong>TKOK \u2022 TKAT<\/div>\n      <div class=\"card\"><strong>Services<\/strong>SR \u2022 OSI<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var root=document.getElementById('mza-amadeus-v3');\n  if(!root){return;}\n  var form=root.querySelector('#mza3-form');\n  var input=root.querySelector('#mza3-input');\n  var output=root.querySelector('#mza3-output');\n  if(!form||!input||!output){return;}\n\n  var state={segments:[],names:[],contacts:[],ticketing:'',rf:'',ssr:[],osi:[],locator:''};\n\n  function add(text,cls){\n    var d=document.createElement('div');\n    if(cls){d.className=cls;}\n    d.textContent=text;\n    output.appendChild(d);\n    output.scrollTop=output.scrollHeight;\n  }\n\n  function makeLocator(){\n    var chars='ABCDEFGHJKLMNPQRSTUVWXYZ23456789', r='';\n    for(var i=0;i<6;i++){r+=chars.charAt(Math.floor(Math.random()*chars.length));}\n    return r;\n  }\n\n  function missing(){\n    var a=[];\n    if(!state.names.length)a.push('NAME');\n    if(!state.segments.length)a.push('SEGMENT');\n    if(!state.contacts.length)a.push('CONTACT');\n    if(!state.ticketing)a.push('TICKETING');\n    if(!state.rf)a.push('RECEIVED FROM');\n    return a;\n  }\n\n  function showPNR(){\n    if(!state.locator){add('NO ACTIVE PNR','warn');return;}\n    add('RP\/MZA\/'+state.locator);\n    for(var i=0;i<state.names.length;i++){add((i+1)+'. '+state.names[i]);}\n    for(var j=0;j<state.segments.length;j++){add((j+1)+' '+state.segments[j]);}\n    for(var k=0;k<state.contacts.length;k++){add('AP '+state.contacts[k]);}\n    if(state.ticketing)add(state.ticketing);\n    for(var x=0;x<state.ssr.length;x++)add('SR '+state.ssr[x]);\n    for(var y=0;y<state.osi.length;y++)add('OSI '+state.osi[y]);\n    if(state.rf)add('RF '+state.rf);\n  }\n\n  form.onsubmit=function(e){\n    e.preventDefault();\n    var raw=input.value.replace(\/^\\s+|\\s+$\/g,'');\n    if(!raw){return false;}\n    var cmd=raw.toUpperCase();\n    add('> '+cmd);\n    input.value='';\n\n    if(cmd==='HE'){\n      add('COMMANDES: SN AN SS NM AP TKOK TKAT RF ER ET RT FQD FXP SR OSI LL SO','info');\n      return false;\n    }\n\n    if(cmd.indexOf('SN')===0 || cmd.indexOf('AN')===0){\n      add('1 AT760 J4 C4 D4 I4 Y9 B9 M9 K9 CMN CDG 06:30 10:35');\n      add('2 AT772 J4 C4 D4 I4 Y9 B9 M9 K9 CMN ORY 08:15 12:10');\n      return false;\n    }\n\n    var ss=cmd.match(\/^SS1([A-Z])1$\/);\n    if(ss){\n      state.segments=['AT760 '+ss[1]+' HK1 CMN-CDG 06:30 10:35'];\n      add(state.segments[0],'ok');\n      return false;\n    }\n\n    if(cmd.indexOf('NM1')===0){\n      state.names.push(cmd.substring(3));\n      add('NAME ELEMENT ACCEPTED','ok');\n      return false;\n    }\n\n    if(cmd==='AP' || cmd.indexOf('AP ')===0){\n      var contact=raw.substring(2).replace(\/^\\s+|\\s+$\/g,'');\n      if(!contact)contact='KIA';\n      state.contacts.push(contact.toUpperCase());\n      add('CONTACT ELEMENT ACCEPTED - '+contact.toUpperCase(),'ok');\n      return false;\n    }\n\n    if(cmd==='TKOK'||cmd==='TKAT'){\n      state.ticketing=cmd;\n      add('TICKETING ELEMENT ACCEPTED - TRAINING MODE','ok');\n      return false;\n    }\n\n    if(cmd.indexOf('RF')===0){\n      var rf=raw.substring(2).replace(\/^\\s+|\\s+$\/g,'');\n      state.rf=rf||'KI';\n      add('RECEIVED FROM ACCEPTED','ok');\n      return false;\n    }\n\n    if(cmd.indexOf('SR ')===0){\n      state.ssr.push(raw.substring(3));\n      add('SPECIAL SERVICE REQUEST ACCEPTED','ok');\n      return false;\n    }\n\n    if(cmd.indexOf('OSI ')===0){\n      state.osi.push(raw.substring(4));\n      add('OTHER SERVICE INFORMATION ACCEPTED','ok');\n      return false;\n    }\n\n    if(cmd==='ER'||cmd==='ET'){\n      var miss=missing();\n      if(miss.length){\n        add('MISSING MANDATORY ELEMENT(S): '+miss.join(', '),'warn');\n        add('PNR NOT STORED','warn');\n        return false;\n      }\n      if(!state.locator)state.locator=makeLocator();\n      add('PNR STORED - '+state.locator,'ok');\n      if(cmd==='ET')add('END TRANSACTION COMPLETE - TRAINING MODE','ok');\n      return false;\n    }\n\n    if(cmd==='RT'){\n      showPNR();\n      return false;\n    }\n\n    if(cmd.indexOf('FQD')===0){\n      add('FARE DISPLAY - TRAINING MODE','info');\n      add('AT Y CMN-PAR FROM MAD 1450');\n      return false;\n    }\n\n    if(cmd.indexOf('FXP')===0){\n      add('ITINERARY PRICED - TST CREATED','ok');\n      return false;\n    }\n\n    if(cmd.indexOf('LL\/')===0 || cmd.indexOf('SO')===0){\n      add('FLIGHT \/ OPERATION STATUS DISPLAY - TRAINING MODE','info');\n      return false;\n    }\n\n    add('TRANSACTION NOT YET SIMULATED','warn');\n    add('USE HE FOR AVAILABLE COMMAND FAMILIES','info');\n    return false;\n  };\n\n  input.focus();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>AMADEUS TRAINING \u2022 STABLE V3 Amadeus Training Master Simulateur p\u00e9dagogique interactif : disponibilit\u00e9, PNR, tarification, ticketing et services. AMADEUS TRAINING\u25cf TRAINING MODE &gt; JI0001AA\/SU SIGN-IN ACCEPTED 0001AA\/SU &#8211; TRAINING MODE Tapez HE pour afficher l&rsquo;aide. &gt; Envoyer Disponibilit\u00e9sSN \u2022 AN \u2022 SO \u2022 LL PNRSS \u2022 NM \u2022 AP \u2022 RF \u2022 ER \u2022 ET [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-26314","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/26314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/comments?post=26314"}],"version-history":[{"count":3,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/26314\/revisions"}],"predecessor-version":[{"id":26324,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/26314\/revisions\/26324"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/media?parent=26314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}