CINXE.COM
IRCC Web form - Canada.ca
<!doctype html> <html class="no-js" dir="ltr" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head prefix="og: http://ogp.me/ns#"> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta charset="utf-8"/> <title>IRCC Web form - Canada.ca</title> <meta content="width=device-width,initial-scale=1" name="viewport"/> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <link rel="canonical" href="https://www.canada.ca/en/immigration-refugees-citizenship/corporate/contact-ircc/web-form.html"/> <link rel="alternate" hreflang="en" href="https://www.canada.ca/en/immigration-refugees-citizenship/corporate/contact-ircc/web-form.html"/> <link rel="alternate" hreflang="fr"/> <meta name="description" content="IRCC web form: Contact us online"/> <meta name="dcterms.title" content="IRCC Web form"/> <meta name="dcterms.description" content="IRCC web form: Contact us online"/> <meta name="dcterms.language" title="ISO639-2/T" content="eng"/> <meta name="dcterms.issued" title="W3CDTF" content="2023-01-12"/> <meta name="dcterms.modified" title="W3CDTF" content="2024-10-25"/> <meta name="dcterms.spatial" content="Canada"/> <meta name="dcterms.type" content="contact us"/> <meta prefix="fb: https://www.facebook.com/2008/fbml" property="fb:pages" content="378967748836213, 160339344047502, 184605778338568, 237796269600506, 10860597051, 14498271095, 209857686718, 160504807323251, 111156792247197, 113429762015861, 502566449790031, 312292485564363, 1471831713076413, 22724568071, 17294463927, 1442463402719857, 247990812241506, 730097607131117, 1142481292546228, 1765602380419601, 131514060764735, 307780276294187, 427238637642566, 525934210910141, 1016214671785090, 192657607776229, 586856208161152, 1146080748799944, 408143085978521, 490290084411688, 163828286987751, 565688503775086, 460123390028, 318424514044, 632493333805962, 370233926766473, 173004244677, 1562729973959056, 362400293941960, 769857139754987, 167891083224996, 466882737009651, 126404198009505, 135409166525475, 664638680273646, 169011506491295, 217171551640146, 182842831756930, 1464645710444681, 218822426028, 218740415905, 123326971154939, 125058490980757, 1062292210514762, 1768389106741505, 310939332270090, 285960408117397, 985916134909087, 655533774808209, 1522633664630497, 686814348097821, 230798677012118, 320520588000085, 103201203106202, 273375356172196, 61263506236, 353102841161, 1061339807224729, 1090791104267764, 395867780593657, 1597876400459657, 388427768185631, 937815283021844, 207409132619743, 1952090675003143, 206529629372368, 218566908564369, 175257766291975, 118472908172897, 767088219985590, 478573952173735, 465264530180856, 317418191615817, 428040827230778, 222493134493922, 196833853688656, 194633827256676, 252002641498535, 398018420213195, 265626156847421, 202442683196210, 384350631577399, 385499078129720, 178433945604162, 398240836869162, 326182960762584, 354672164565195, 375081249171867, 333050716732105, 118996871563050, 240349086055056, 119579301504003, 185184131584797, 333647780005544, 306255172770146, 369589566399283, 117461228379000, 349774478396157, 201995959908210, 307017162692056, 145928592172074, 122656527842056"> <script type="text/javascript" src="https://www.canada.ca/public/2638385e40e5637a73786685a4729cdd129476e35554" ></script><script src="//assets.adobedtm.com/be5dfd287373/abb618326704/launch-3eac5e076135.min.js"></script> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css" integrity="sha256-mUZM63G8m73Mcidfrv5E+Y61y7a12O5mW4ezU3bxqW4=" crossorigin="anonymous"/> <link rel="stylesheet" href="/etc/designs/canada/wet-boew/css/theme.min.css"/> <link href="/etc/designs/canada/wet-boew/assets/favicon.ico" rel="icon" type="image/x-icon"/> <noscript><link rel="stylesheet" href="/etc/designs/canada/wet-boew/css/noscript.min.css"/></noscript> <script>!function(a){var e="https://s.go-mpulse.net/boomerang/",t="addEventListener";if("False"=="True")a.BOOMR_config=a.BOOMR_config||{},a.BOOMR_config.PageParams=a.BOOMR_config.PageParams||{},a.BOOMR_config.PageParams.pci=!0,e="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="KBFUZ-C9D7G-RB8SX-GRGEN-HGMC9",function(){function n(e){a.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!a.BOOMR||!a.BOOMR.version&&!a.BOOMR.snippetExecuted){a.BOOMR=a.BOOMR||{},a.BOOMR.snippetExecuted=!0;var i,_,o,r=document.createElement("iframe");if(a[t])a[t]("load",n,!1);else if(a.attachEvent)a.attachEvent("onload",n);r.src="javascript:void(0)",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="width:0;height:0;border:0;display:none;",o=document.getElementsByTagName("script")[0],o.parentNode.insertBefore(r,o);try{_=r.contentWindow.document}catch(O){i=document.domain,r.src="javascript:var d=document.open();d.domain='"+i+"';void(0);",_=r.contentWindow.document}_.open()._l=function(){var a=this.createElement("script");if(i)this.domain=i;a.id="boomr-if-as",a.src=e+"KBFUZ-C9D7G-RB8SX-GRGEN-HGMC9",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(a)},_.write("<bo"+'dy onload="document._l();">'),_.close()}}(),"".length>0)if(a&&"performance"in a&&a.performance&&"function"==typeof a.performance.setResourceTimingBufferSize)a.performance.setResourceTimingBufferSize();!function(){if(BOOMR=a.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var e=""=="true"?1:0,t="",n="bdpnbetiiuxdgz2bxgsa-f-220b88022-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,_={"ak.v":"39","ak.cp":"653406","ak.ai":parseInt("231651",10),"ak.ol":"0","ak.cr":9,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"b1e6086","ak.r":23331,"ak.a2":e,"ak.m":"dscb","ak.n":"essl","ak.bpcip":"8.222.208.0","ak.cport":52630,"ak.gh":"184.86.250.132","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"reno","ak.t":"1732360612","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==KmCLppMrJw1GT8oRSf/nFhIuQJnFZhQpB9ZVoSxEbnPjOBQktjbG7BFIL41xBv8Uyi0dhPnDn9WSBKZPN00JEfGsI3hmAq0E9wCz2Q13XElK107RRsKAbqQup+adJF2hksoUgObrYv97yi8p5zuL1wxi+CR4hpD+WHxZOScKEjEnaTWie6BpEsycvqHNPymL8YcnJ+1LUIMqt2ZTe3B9QCbDcn9LI6f8gUzp6tw8P3j+Enct+QKrRqJnckL2No+WCcqWTKV9vn0hNoJrNQJcTP3fW8/y48Jdm8RSxYvggUCEiechEdk4/HccUCeJd9jXD+8OTKeuza97Xtx8J7krNiUJ+8vr2RI1scB1HYAoEAZ0OgsNz64AFP9P4V5lL3bStJMvkFfRGjc+HMnGjPyOoxW5igPpwcsKB+N8agfrpE8=","ak.pv":"790","ak.dpoabenc":"","ak.tf":i};if(""!==t)_["ak.ruds"]=t;var o={i:!1,av:function(e){var t="http.initiator";if(e&&(!e[t]||"spa_hard"===e[t]))_["ak.feo"]=void 0!==a.aFeoApplied?1:0,BOOMR.addVar(_)},rv:function(){var a=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(a)}};BOOMR.plugins.AK={akVars:_,akDNSPreFetchDomain:n,init:function(){if(!o.i){var a=BOOMR.subscribe;a("before_beacon",o.av,null,null),a("onbeacon",o.rv,null,null),o.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body vocab="http://schema.org/" typeof="WebPage" resource="#wb-webpage"> <div class="newpar new section"> </div> <div class="par iparys_inherited"> <div class="global-header"><nav><ul id="wb-tphp"> <li class="wb-slc"><a class="wb-sl" href="#wb-cont">Skip to main content</a></li> <li class="wb-slc"><a class="wb-sl" href="#wb-info">Skip to "About government"</a></li> </ul></nav> <header> <div id="wb-bnr" class="container"> <div class="row"> <section id="wb-lng" class="col-xs-3 col-sm-12 pull-right text-right"> <h2 class="wb-inv">Language selection</h2> <div class="row"> <div class="col-md-12"> <ul class="list-inline mrgn-bttm-0"> <li> <a lang="fr" href="/fr/immigration-refugies-citoyennete/organisation/contactez-ircc/formulaire-web.html"> <span class="hidden-xs" translate="no">Français</span> <abbr title="Français" class="visible-xs h3 mrgn-tp-sm mrgn-bttm-0 text-uppercase" translate="no">fr</abbr> </a> </li> </ul> </div> </div> </section> <div class="brand col-xs-9 col-sm-5 col-md-4" property="publisher" resource="#wb-publisher" typeof="GovernmentOrganization"> <a href="/en.html" property="url"> <img src="/etc/designs/canada/wet-boew/assets/sig-blk-en.svg" alt="Government of Canada" property="logo"/> <span class="wb-inv"> / <span lang="fr">Gouvernement du Canada</span> </span> </a> <meta property="name" content="Government of Canada"/> <meta property="areaServed" typeof="Country" content="Canada"/> <link property="logo" href="/etc/designs/canada/wet-boew/assets/wmms-blk.svg"/> </div> <section id="wb-srch" class="col-lg-offset-4 col-md-offset-4 col-sm-offset-2 col-xs-12 col-sm-5 col-md-4"> <h2>Search</h2> <form action="/en/services/immigration-citizenship/search.html" method="get" name="cse-search-box" role="search"> <div class="form-group wb-srch-qry"> <label for="wb-srch-q" class="wb-inv">Search Canada.ca</label> <input id="wb-srch-q" list="wb-srch-q-ac" class="wb-srch-q form-control" name="q" type="search" value="" size="34" maxlength="170" placeholder="Search IRCC"/> <datalist id="wb-srch-q-ac"> </datalist> </div> <div class="form-group submit"> <button type="submit" id="wb-srch-sub" class="btn btn-primary btn-small" name="wb-srch-sub"><span class="glyphicon-search glyphicon"></span><span class="wb-inv">Search</span></button> </div> </form> </section> </div> </div> <hr/> <div class="container"><div class="row"> <div class="col-md-8"> <nav class="gcweb-menu" typeof="SiteNavigationElement"> <h2 class="wb-inv">Menu</h2> <button type="button" aria-haspopup="true" aria-expanded="false"><span class="wb-inv">Main </span>Menu <span class="expicon glyphicon glyphicon-chevron-down"></span></button> <ul role="menu" aria-orientation="vertical" data-ajax-replace="/content/dam/canada/sitemenu/sitemenu-v2-en.html"> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/jobs.html">Jobs and the workplace</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/immigration-citizenship.html">Immigration and citizenship</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://travel.gc.ca/">Travel and tourism</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/business.html">Business and industry</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/benefits.html">Benefits</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/health.html">Health</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/taxes.html">Taxes</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/environment.html">Environment and natural resources</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/defence.html">National security and defence</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/culture.html">Culture, history and sport</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/policing.html">Policing, justice and emergencies</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/transport.html">Transport and infrastructure</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.international.gc.ca/world-monde/index.aspx?lang=eng">Canada and the world</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/finance.html">Money and finances</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.canada.ca/en/services/science.html">Science and innovation</a></li> </ul> </nav> </div> </div></div> <nav id="wb-bc" property="breadcrumb"><h2 class="wb-inv">You are here:</h2><div class="container"><ol class="breadcrumb"> <li><a href='/en.html'>Canada.ca</a></li> <li><a href='/en/immigration-refugees-citizenship.html'>Immigration, Refugees and Citizenship Canada</a></li> <li><a href='/en/immigration-refugees-citizenship/corporate.html'>Corporate information</a></li> <li><a href='/en/immigration-refugees-citizenship/corporate/contact-ircc.html'>Contact us</a></li> </ol></div></nav> </header> </div> </div> <main property="mainContentOfPage" resource="#wb-main" typeof="WebPageElement"> <div class="mwsgeneric-base-html parbase section"> <div class="container"> <h1 property="name" id="wb-cont">IRCC web form: Contact us online</h1> </div> </div> <div class="mwsgeneric-base-html parbase section"> <div data-wb-urlmapping="{ "v2": { "action": "ajax", "url": "/content/canadasite/en/immigration-refugees-citizenship/corporate/contact-ircc/web-form/web-form-new-version.html#v2", "container": "#webform", "type":"replace" } }"></div> </div> <div class="mwsgeneric-base-html parbase section"> <div class="container"> <h2 class="h3">Submitting an enquiry</h2> </div> </div> <div class="mwsgeneric-base-html parbase section"> <div id="alerts"> <section class="brdr-0 mrgn-bttm-0 infobg"> <div class="container"> <h2 class="wb-inv">Alertes</h2> <div class="row mrgn-tp-md"> <div class="col-md-2 col-xs-12 icon"> <p class="text-center"><span class="fas fa-exclamation-circle fa-3x" aria-hidden="true"></span></p> </div> <div class="col-md-10 col-xs-12"> <details> <summary>If you鈥檙e experiencing technical issues</summary> <p>If you don鈥檛 have an application number or a unique client identifier (UCI) number, enter 0000000 in the application number field and 1111111111 in the UCI field.</p> </details> </div> </div> </div> </section> </div> </div> <div class="mwsgeneric-base-html parbase section"> <div class="container"> <div id="v2"> <p>Even if you haven鈥檛 heard from us recently, we鈥檙e still processing your application. You don鈥檛 need to do anything else. If we need more information, we鈥檒l contact you. </p> <p>Our agents <strong>do not</strong> have access to more information about your case status or processing time than you can access online. Before contacting us, you can</p> <ul> <li><a href="/en/immigration-refugees-citizenship/services/application/check-status.html">check your application status online</a></li> <li>find answers to your questions in our <a href="https://ircc.canada.ca/english/helpcentre/index.asp">Help Centre</a></li> <li>get general information on our <a href="/en/immigration-refugees-citizenship.html">website</a></li> </ul> <p>We understand that timely access to client support is important. Thank you for your patience.</p> <p><a href="/en/immigration-refugees-citizenship/corporate/terms-conditions.html#ircc-web-form" target="_blank">Privacy notice<span class="wb-inv"> (opens in a new tab)</span></a> <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></p> <hr> <!-- Commented out to keep depending if there is an ongoing crisis <a class="mrgn-tp-lg btn btn-default btn-block" href="https://secure.cic.gc.ca/ClientContact/en/Application"> <div class="row"> <div class="col-md-2"> <img src="/content/dam/ircc/images/corporate/contactus/exclamation-75.png" alt="" class="img-responsive mrgn-lft-md"> </div> <div class="col-md-9 col-xs-12 col-xs-pull-1 col-md-pull-1 mrgn-lft-xl text-left"> <h2>Let us know you鈥檝e been affected by a crisis</h2> </div> </div> </a>--> <div class="row wb-eqht"> <div class="col-md-6 hght-inhrt"> <a class="mrgn-tp-lg btn btn-default btn-block" href="https://secure.cic.gc.ca/ClientContact/en/Application"> <div class="row eqht-trgt"> <div class="col-md-3"> <img src="/content/dam/ircc/images/corporate/contactus/checklist-75.png" alt="" class="img-responsive mrgn-lft-md"> </div> <div class="col-md-9 text-left"> <h2 class="mrgn-tp-md">Update or ask about your application</h2> </div> </div> </a> </div> <div class="col-md-6 hght-inhrt"> <a class="mrgn-tp-lg btn btn-default btn-block" href="https://secure.cic.gc.ca/ClientContact/en/Program"> <div class="row eqht-trgt"> <div class="col-md-3"> <img src="/content/dam/ircc/images/corporate/contactus/question-75.png" alt="" class="img-responsive mrgn-lft-md"> </div> <div class="col-md-9 text-left"> <h2 class="mrgn-tp-md">Ask about a program or service</h2> </div> </div> </a> </div> </div> <div class="row wb-eqht"> <div class="col-md-6 hght-inhrt"> <a class="mrgn-tp-lg btn btn-default btn-block" href="https://secure.cic.gc.ca/ClientContact/en/Technical"> <div class="row eqht-trgt"> <div class="col-md-3"> <img src="/content/dam/ircc/images/corporate/contactus/laptop-75.png" alt="" class="img-responsive mrgn-lft-md"> </div> <div class="col-md-9 text-left"> <h2>Report a technical problem</h2> </div> </div> </a> </div> <div class="col-md-6 hght-inhrt"> <a class="mrgn-tp-lg btn btn-default btn-block" href="https://secure.cic.gc.ca/ClientContact/en/Feedback"> <div class="row eqht-trgt"> <div class="col-md-3"> <img src="/content/dam/ircc/images/corporate/contactus/chat-75.png" alt="" class="img-responsive mrgn-lft-md"> </div> <div class="col-md-9 text-left"> <h2>Give us feedback</h2> </div> </div> </a> </div> </div> </div> </div> </div> <div class="reference parbase section"><div class="cq-dd-paragraph"><div class="mwsmediaplayer"> <script> function docReady(fn) { // see if DOM is already available if (document.readyState === "complete" || document.readyState === "interactive") { // call on next available tick setTimeout(fn, 1); } else { document.addEventListener("DOMContentLoaded", fn); } } docReady(function() { let cssScript = document.createElement('style'); cssScript.innerHTML = "#korahCcrChatContainer {position: fixed;bottom: 10px;right: 10px;background: transparent;z-index: 999999 !important;border:none;}@media screen and (max-width: 600px) {#korahCcrChatContainer.openedChatframe {width: 100% !important;height: 100% !important;}}@media screen and (max-height: 700px) {#korahCcrChatContainer.openedChatframe {height: 100% !important;}}"; cssScript.setAttribute('id', 'chatCSS'); document.head.appendChild(cssScript); }); </script> <iframe id="korahCcrChatContainer" frameBorder="0" style="border-radius: 15px;" data-hostUrl="https://blade.korahlimited.com/oprCns/" data-ccrChatPhpUrl="ccrChat.php" data-orgId="F68B3D01-A6F3-11E8-BA6B-0242AC110002" data-lang="default" data-btnWidth="90px" data-btnHeight="90px" data-showMsgTimeout="0" data-hideMsgTimeout="5000" data-isShowMinBtn="true" data-isShowResizeBtn="true" data-isShowCloseBtn="true" data-isShowConfirmationOnClose="true" data-isClntAuthRq="false" data-isPrivateInfoAllowed="false" data-isCheckCcrAvailability="true" data-baseUrl="" data-startHeaderIndex= "2" src="https://blade.korahlimited.com/oprCns/ccr-btn-sdk/ccrBtn/ccrBtnTemplate.html" ></iframe> <script id="i18Script"> // IMPORTANT: When deploy to ccR Widget General: // Make sure the var statement is "var resources = {" instead of "var resourcesCustom = {" // Otherwise the user defined resources might not being able to overwrite server default ones. var resourcesCustom = { "en": { "translation": { "ChatNow": "Chat now with Virtual assistant", "chatTitle": "Virtual assistant", "ccrChatToolbarRegion": "Chat Modal Toolbar", "goToInput": "Go to input", "MinChat": "Minimize chat", "MaxChat": "Maximize chat", "RestoreChat": "Restore chat to default size", "CloseChat": "Close chat", "confirmationEnd": "End", "confirmationEndTitle": "End conversation", "confirmationMinimize": "Minimize", "confirmationMinimizeTitle": "Minimize chat", "confirmationCancel": "Back", "confirmationCancelTitle": "Cancel and return to chat", "NoPersonalInfo": "No personal information", "TermsOfUse": "Terms of use", "modalTitle": "Chat with Expert", "noticeMsg": "You have questions about our new website? Let's chat.", "ccrChatFrameTitle": "Chat conversation" } }, "fr": { "translation": { "ChatNow": "Clavarder maintenant avec l鈥檃ssistant virtuel", "chatTitle": "Assistant virtuel", "ccrChatToolbarRegion": "Barre d'outils de discussion", "goToInput": "Aller 脿 l'茅cran de saisie", "MinChat": "R茅duire la session de clavardage", "MaxChat": "Agrandir la session de clavardage", "RestoreChat": "Restaurer le chat 脿 la taille par d茅faut", "CloseChat": "Fermer la session de clavardage", "confirmationEnd": "Terminer", "confirmationEndTitle": "Terminer la conversation", "confirmationMinimize": "R茅duire", "confirmationMinimizeTitle": "R茅duire la session de clavardage", "confirmationCancel": "Retour", "confirmationCancelTitle": "Cancel and return to chat", "NoPersonalInfo": "Aucune information personnelle", "TermsOfUse": "Modalit茅s d鈥檜tilisation", "modalTitle": "Clavarder avec Expert", "noticeMsg": "Vous avez des questions au sujet de notre nouveau site? Clavardons.", "ccrChatFrameTitle": "Conversation par clavardage" } } }; </script> <script id="chatJS"> (function (funcName, baseObj) { // The public function name defaults to window.docReady // but you can pass in your own object and own function name and those will be used // if you want to put them in a different namespace funcName = funcName || "docReady"; baseObj = baseObj || window; var readyList = []; var readyFired = false; var readyEventHandlersInstalled = false; // call this when the document is ready // this function protects itself against being called more than once function ready() { if (!readyFired) { // this must be set to true before we start calling callbacks readyFired = true; for (var i = 0; i < readyList.length; i++) { // if a callback here happens to add new ready handlers, // the docReady() function will see that it already fired // and will schedule the callback to run right after // this event loop finishes so all handlers will still execute // in order and no new ones will be added to the readyList // while we are processing the list readyList[i].fn.call(window, readyList[i].ctx); } // allow any closures held by these functions to free readyList = []; } } function readyStateChange() { if (document.readyState === "complete") { ready(); } } // This is the one public interface // docReady(fn, context); // the context argument is optional - if present, it will be passed // as an argument to the callback baseObj[funcName] = function (callback, context) { if (typeof callback !== "function") { throw new TypeError("callback for docReady(fn) must be a function"); } // if ready has already fired, then just schedule the callback // to fire asynchronously, but right away if (readyFired) { setTimeout(function () { callback(context); }, 1); return; } else { // add the function and context to the list readyList.push({ fn: callback, ctx: context }); } // if document already ready to go, schedule the ready function to run if (document.readyState === "complete") { setTimeout(ready, 1); } else if (!readyEventHandlersInstalled) { // otherwise if we don't have event handlers installed, install them if (document.addEventListener) { // first choice is DOMContentLoaded event document.addEventListener("DOMContentLoaded", ready, false); // backup is window load event window.addEventListener("load", ready, false); } else { // must be IE document.attachEvent("onreadystatechange", readyStateChange); window.attachEvent("onload", ready); } readyEventHandlersInstalled = true; } } })("docReady", window); (function (funcName, baseObj) { window.addEventListener("message", function (e) { var frame = document.getElementById("korahCcrChatContainer"); switch (e.data.action) { case LSListener.EVENTS.INIT: var listener = new LSListener(frame.contentWindow, e.data.name, e.data.initiator); break; } }); // The public function name defaults to window.docReady // but you can pass in your own object and own function name and those will be used // if you want to put them in a different namespace funcName = funcName || "docReady"; baseObj = baseObj || window; var readyList = []; var readyFired = false; var readyEventHandlersInstalled = false; // call this when the document is ready // this function protects itself against being called more than once function ready() { if (!readyFired) { // this must be set to true before we start calling callbacks readyFired = true; for (var i = 0; i < readyList.length; i++) { // if a callback here happens to add new ready handlers, // the docReady() function will see that it already fired // and will schedule the callback to run right after // this event loop finishes so all handlers will still execute // in order and no new ones will be added to the readyList // while we are processing the list readyList[i].fn.call(window, readyList[i].ctx); } // allow any closures held by these functions to free readyList = []; } } function readyStateChange() { if (document.readyState === "complete") { ready(); } } // This is the one public interface // docReady(fn, context); // the context argument is optional - if present, it will be passed // as an argument to the callback baseObj[funcName] = function (callback, context) { if (typeof callback !== "function") { throw new TypeError("callback for docReady(fn) must be a function"); } // if ready has already fired, then just schedule the callback // to fire asynchronously, but right away if (readyFired) { setTimeout(function () { callback(context); }, 1); return; } else { // add the function and context to the list readyList.push({ fn: callback, ctx: context }); } // if document already ready to go, schedule the ready function to run if (document.readyState === "complete") { setTimeout(ready, 1); } else if (!readyEventHandlersInstalled) { // otherwise if we don't have event handlers installed, install them if (document.addEventListener) { // first choice is DOMContentLoaded event document.addEventListener("DOMContentLoaded", ready, false); // backup is window load event window.addEventListener("load", ready, false); } else { // must be IE document.attachEvent("onreadystatechange", readyStateChange); window.attachEvent("onload", ready); } readyEventHandlersInstalled = true; } } })("docReady", window); docReady(function () { console.log("docReady"); try { var containerFrame = document.getElementById("korahCcrChatContainer"); containerFrame.setAttribute("allow", "camera *;microphone *;geolocation *;"); if (!containerFrame) { console.log("[SCC]ContainerFrame not found"); return; } if (!containerFrame.dataset || !containerFrame.dataset.hosturl) { console.log("[SCC]Valid host url not detected"); return; } var lang = "default"; if (getParameterByName("ccrLang")) { lang = getParameterByName("ccrLang"); } else if (getParameterByName("lang")) { lang = getParameterByName("lang"); } else if (containerFrame.dataset.lang) { lang = containerFrame.dataset.lang; } else { var html = document.getElementsByTagName("html"); if (html[0] !== null && html[0].lang) { lang = html[0].lang; } } containerFrame.dataset.lang = lang; if(getParameterByName("ccrOrgId")) { containerFrame.dataset.orgid = getParameterByName("ccrOrgId"); } function receiveMessage(evt) { if (evt.origin !== origin) { return; } if (typeof evt.data.ccr !== "undefined" && typeof evt.data.ccr.type !== "undefined") { switch (evt.data.ccr.type) { case "ready": messager.sendInit(); break; case "start": containerFrame.style.width = evt.data.ccr.content.width; containerFrame.style.height = evt.data.ccr.content.height; containerFrame.style.bottom = evt.data.ccr.content.bottom; containerFrame.style.right = evt.data.ccr.content.right; containerFrame.style.visibility = evt.data.ccr.content.visibility; if (!document.querySelector("#ccrChatButton")) { containerFrame.style.display = containerFrame.style.display; } break; case "show": containerFrame.classList.add("openedChatframe"); containerFrame.style.width = evt.data.ccr.content.width; containerFrame.style.height = evt.data.ccr.content.height; containerFrame.style.bottom = evt.data.ccr.content.bottom; containerFrame.style.right = evt.data.ccr.content.right; break; case "hidden": containerFrame.classList.remove("openedChatframe"); containerFrame.style.width = evt.data.ccr.content.width; containerFrame.style.height = evt.data.ccr.content.height; containerFrame.style.bottom = evt.data.ccr.content.bottom; containerFrame.style.right = evt.data.ccr.content.right; break; case "resize": containerFrame.style.width = evt.data.ccr.content.width; containerFrame.style.height = evt.data.ccr.content.height; break; case "csKey": containerFrame.csKey = evt.data.ccr.content.csKey; break; default: console.log("Invalid message"); break; } } } if (window.addEventListener) { window.addEventListener("message", receiveMessage, false); } else { window.attachEvent("onmessage", receiveMessage); } var origin = containerFrame.dataset.hosturl.replace("/oprCns/", ""); var messager = { sendInit: function () { let msg = { ccr: { type: "init", content: {} } }; for (let data in containerFrame.dataset) { msg.ccr.content[data] = containerFrame.dataset[data]; } if(rsp){ msg.ccr.rsp = rsp; } if (typeof containerFrame.dataset.isclntauthrq == "string" && containerFrame.dataset.isclntauthrq.trim().toLowerCase() == "true") { var profile = localStorage.getItem("profile"); if (profile) { msg.ccr.profile = profile; } } if (typeof ccrResources != "object" || ccrResources == null) { var orgId = containerFrame.dataset.orgid; var resourceJsName = "/i18Locale." + orgId + ".js"; var localBaseUrl = containerFrame.dataset.baseurl; var resourceHostUrl = getCurPageDir() + "/js"; if (typeof localBaseUrl === "string" && localBaseUrl.trim() != "") { resourceHostUrl = localBaseUrl.replace(/\/$/, ""); } var resoureUrl = resourceHostUrl.replace(/\/$/, "") + resourceJsName; getUrl(resoureUrl, function () { //State change if (this.readyState == 4 && this.status == 200) { try { eval(this.responseText); msg.ccr.ccrResources = ccrResources; // Declared by baseusrl/i18Locale.js } catch (e) { console.warn(e); } finally { containerFrame.contentWindow.postMessage(msg, origin); } } }, function () { //404 callback containerFrame.contentWindow.postMessage(msg, origin); }); } else { msg.ccr.ccrResources = ccrResources; // Declared by i18Locale.js included in the html containerFrame.contentWindow.postMessage(msg, origin); } }, sendShow: function () { let msg = { ccr: { type: "show", content: {} } }; containerFrame.contentWindow.postMessage(msg, origin); }, sendFocusLost: function () { let msg = { ccr: { type: "focuslost", content: {} } }; if (containerFrame !== null && containerFrame.contentWindow !== null) { containerFrame.contentWindow.postMessage(msg, origin); } }, sendNewResources: function (resources){ let msg = { ccr: { type: "widgetResource", ccrResources: resources } }; containerFrame.contentWindow.postMessage(msg, origin); } }; var orgId = containerFrame.dataset.orgid; var serverHost = containerFrame.dataset.hosturl; var url = serverHost + "getWidgetCfg.php"; var usrTrackerSwitch = ""; var xmlHttp = new XMLHttpRequest(); xmlHttp.open("post", url); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttp.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { var rsp = JSON.parse(this.responseText); console.log(rsp.cfgTrackSwitch); usrTrackerSwitch = rsp.cfgTrackSwitch; if(usrTrackerSwitch == true){ var isLoaduiTracker = containerFrame.dataset.isloaduitracker; if (isLoaduiTracker == "true") { loaduiTrackerJS(containerFrame.dataset.hosturl, containerFrame); } } } }; xmlHttp.send(encodeURI('orgId=' + orgId)); customJsBeforeCcrBtnLoad(messager, lang); var isCheckCcrAvailability = containerFrame.dataset.ischeckccravailability; var serverHost = containerFrame.dataset.hosturl; var rsp; var iframeUrl = serverHost + "ccr-btn-sdk/ccrBtn/ccrBtnTemplate.html"; if (isCheckCcrAvailability == "true") { var orgId = containerFrame.dataset.orgid; var url = serverHost + "ccrBtnAvailability.php"; var xmlHttp = new XMLHttpRequest(); xmlHttp.open("post", url); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttp.onload = function () { if (xmlHttp.status === 200) { rsp = xmlHttp.responseText; if (typeof rsp == "string") { rsp = JSON.parse(rsp); } if (rsp && typeof rsp.rc != "undefined" && rsp.rc == 1) { containerFrame.setAttribute("src", iframeUrl); } } else { containerFrame.parentNode.removeChild(containerFrame); } }; xmlHttp.send(encodeURI('orgId=' + orgId)); } else { containerFrame.setAttribute("src", iframeUrl); } } catch (e) { console.error(e); containerFrame.parentNode.removeChild(containerFrame); } function loaduiTrackerJS(baseurl, containerFrame) { var scripts = {}; scripts[baseurl + "js/html2canvas.min.js"] = false; scripts[baseurl + "js/uiTracker.js"] = false; for(var k in scripts){ (function(k){ _element = document.createElement("script"); _element.src = k; _element.type = "text/javascript"; _element.onload = function () { scripts[k] = true; var check = true; for(var j in scripts){ check &= scripts[j]; } if(check){ window.uiTracker = new UiTracker(containerFrame); } }; document.head.appendChild(_element); })(k); } } }); function customJsBeforeCcrBtnLoad(messager, lang) { var chatBtn = document.querySelector("#ccrChatButton"); var chatContainer = document.querySelector("#korahCcrChatContainer"); var chatText = { "btnadd": { "en": "Launch chatbot service on this page", "fr": "Lancer le service de clavarbot sur cette page" }, "btndel": { "en": "Remove chatbot service from this page", "fr": "Enlever le service de clavarbot de cette page" }, "heading": { "en": "Ask a Question! MSCA", "fr": "Posez une question! MSCA" }, "message": { "en": "<p>For help with general questions about Passport.</p><p><a href=\"/en/employment-social-development/corporate/portfolio/service-canada/improving-services/scc-tou.html\">Terms of Use and Information Statement</a></p>", "fr": "<p>Pour d鈥檃ide avec des demandes de renseignements g茅n茅raux sur les passeports. </p><p><a href=\"/fr/emploi-developpement-social/ministere/portefeuille/service-canada/ameliorer-services/csc-mdu.html\">Modalit茅s d鈥檜tilisation et Avis d鈥檌nformation</a></p>" } }; if (chatBtn) { chatContainer.style.display = "none"; chatBtn.addEventListener("click", function () { if (hasClass(chatBtn, "scc-chat-btn-add")) { chatBtn.classList.remove("scc-chat-btn-add"); chatBtn.innerHTML = chatText.btndel[lang]; chatContainer.style.display = "block"; messager.sendShow(); } else { chatContainer.style.display = "none"; chatBtn.classList.add("scc-chat-btn-add"); chatBtn.innerHTML = chatText.btnadd[lang]; } }); } else { chatContainer.style.display = "block"; } } function getUrl(url, onStateChange, finalCallback) { const xhr = new XMLHttpRequest(); xhr.open("GET", url); xhr.send(); xhr.onreadystatechange = onStateChange; xhr.onerror = function (err) { console.error(err); onStateChange(); } xhr.onloadend = function () { if (xhr.status == 404) { console.error(url + " not found."); if (typeof finalCallback == "function") { finalCallback(); } } } } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/gi, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', "i"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/gi, ' ')); } function getCurPageDir() { var loc = window.location.pathname; return loc.substring(0, loc.lastIndexOf('/')).replace(/\/$/, "");; } function hasClass(element, className) { return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1; } function LSListener(childWindow, name, uid) { var _self = this; var _cache = {}; var _childWindow = childWindow; var _name = name; var _storageKey = _getStorageKey(); var _uid = uid; _init(); function _init() { var item = localStorage.getItem(_storageKey); if (item = JSON.parse(item)) { _cache = item; } window.addEventListener("message", function (e) { if (e.data.name == _name) { switch (e.data.action) { case LSListener.EVENTS.SET: _setItem(e.data.args.key, e.data.args.item); _notify(e.data.initiator, e.data.action, e.data.args); break; case LSListener.EVENTS.UNSET: _removeItem(e.data.args.key); _notify(e.data.initiator, e.data.action, e.data.args); break; case LSListener.EVENTS.CLEAR: _clear(); _notify(e.data.initiator, e.data.action, e.data.args); break; } } }); _notify(_uid, LSListener.EVENTS.INIT, { "cache": _cache }); } //When passed a number n, this method will return the name of the nth key in the storage. function _key(n) { // TODO: implement this???? } //When passed a key name, will return that key's value. function _getItem(key) { key = _normalizeKey(key); if (key in _cache) { return _cache[key]; } return null; } //When passed a key name and value, will add that key to the storage, or update that key's value if it already exists. function _setItem(key, item) { if (item === undefined) { throw new TypeError("Failed to execute 'setItem' on 'Storage': 2 arguments required, but only 1 present."); } key = _normalizeKey(key); _cache[key] = item.toString(); _saveCache(); } //When passed a key name, will remove that key from the storage. function _removeItem(key) { key = _normalizeKey(key); if (key in _cache) { delete _cache[key]; _saveCache(); } } //When invoked, will empty all keys out of the storage. function _clear() { _cache = {}; _saveCache(); } function _normalizeKey(key) { if (key === undefined) return "undefined"; if (key === null) return "null"; return key.toString(); } function _notify(initiator, action, args) { _childWindow.postMessage({ "name": _name, "initiator": initiator, "action": action, "args": args }, "*"); } function _saveCache() { localStorage.setItem(_storageKey, JSON.stringify(_cache)); } function _getStorageKey() { return "CCRLSCACHE_" + _name; } _self.key = _key; _self.getItem = _getItem; return _self; } LSListener.EVENTS = { INIT: 0, SET: 1, UNSET: 2, CLEAR: 3 } </script> </div> </div> </div> <div class="mwsmediaplayer section"> <script src="https://code.jquery.com/jquery-3.7.1.slim.js" integrity="sha256-UgvvN8vBkgO0luPSUl2s8TIlOSYRoGFAX4jlCIm9Adc=" crossorigin="anonymous"></script> <script> // CSS rules var rule = '.infobg { background-color:#d9edf7 !important; margin-bottom: 0px !important; padding: 6px !important; }'; function addCss(rule) { let css = document.createElement('style'); css.type = 'text/css'; if (css.styleSheet) css.styleSheet.cssText = rule; // Support for IE else css.appendChild(document.createTextNode(rule)); // Support for the rest document.getElementsByTagName("head")[0].appendChild(css); } // Load the rules and execute after the DOM loads window.onload = function() {addCss(rule)}; var width = (window.innerWidth > 0) ? window.innerWidth : document.documentElement.clientWidth; var ht; if(width > 1024) { ht=$("#alerts").height(); } else { ht=100; } ht=ht-27; ht=ht+"px"; $(".icon").css("line-height",ht); $(".icon").css("vertical-align", "middle"); </script> </div> <section class="pagedetails container"> <h2 class="wb-inv">Page details</h2> <dl id="wb-dtmd"> <dt>Date modified:</dt> <dd><time property="dateModified">2024-10-25</time></dd> </dl> </section> </main> <div class="newpar new section"> </div> <div class="par iparys_inherited"> </div> <div class="newpar new section"> </div> <div class="par iparys_inherited"> <div class="global-footer"> <footer id="wb-info"> <h2 class="wb-inv">About this site</h2> <div class="gc-contextual"><div class="container"> <nav> <h3>Immigration and citizenship</h3> <ul class="list-col-xs-1 list-col-sm-2 list-col-md-3"> <li><a href="https://ircc.canada.ca/English/helpcentre/results-by-topic.asp?top=34">Help Centre</a></li> <li><a href="/en/immigration-refugees-citizenship/corporate/contact-ircc.html"> Contact us</a></li> <li><a href="/en/immigration-refugees-citizenship/services/application/check-status.html">Check your application status</a></li> </ul> </nav> </div></div> <div class="gc-main-footer"> <div class="container"> <nav> <h3>Government of Canada</h3> <ul class="list-unstyled colcount-sm-2 colcount-md-3"> <li><a href="/en/contact.html">All contacts</a></li> <li><a href="/en/government/dept.html">Departments and agencies</a></li> <li><a href="/en/government/system.html">About government</a></li> </ul> <h4><span class="wb-inv">Themes and topics</span></h4> <ul class="list-unstyled colcount-sm-2 colcount-md-3"> <li><a href="/en/services/jobs.html">Jobs</a></li> <li><a href="/en/services/immigration-citizenship.html">Immigration and citizenship</a></li> <li><a href="https://travel.gc.ca/">Travel and tourism</a></li> <li><a href="/en/services/business.html">Business</a></li> <li><a href="/en/services/benefits.html">Benefits</a></li> <li><a href="/en/services/health.html">Health</a></li> <li><a href="/en/services/taxes.html">Taxes</a></li> <li><a href="/en/services/environment.html">Environment and natural resources</a></li> <li><a href="/en/services/defence.html">National security and defence</a></li> <li><a href="/en/services/culture.html">Culture, history and sport</a></li> <li><a href="/en/services/policing.html">Policing, justice and emergencies</a></li> <li><a href="/en/services/transport.html">Transport and infrastructure</a></li> <li><a href="https://international.gc.ca/world-monde/index.aspx?lang=eng">Canada and the world</a></li> <li><a href="/en/services/finance.html">Money and finance</a></li> <li><a href="/en/services/science.html">Science and innovation</a></li> <li><a href="/en/services/indigenous-peoples.html">Indigenous peoples</a></li> <li><a href="/en/services/veterans-military.html">Veterans and military</a></li> <li><a href="/en/services/youth.html">Youth</a></li> </ul> </nav> </div> </div> <div class="gc-sub-footer"> <div class="container d-flex align-items-center"> <nav> <h3 class="wb-inv">Government of Canada Corporate</h3> <ul> <li><a href="https://www.canada.ca/en/social.html">Social media</a></li> <li><a href="https://www.canada.ca/en/mobile.html">Mobile applications</a></li> <li><a href="https://www.canada.ca/en/government/about.html">About Canada.ca</a></li> <li><a href="/en/transparency/terms.html">Terms and conditions</a></li> <li><a href="/en/transparency/privacy.html">Privacy</a></li> </ul> </nav> <div class="wtrmrk align-self-end"> <img src="/etc/designs/canada/wet-boew/assets/wmms-blk.svg" alt="Symbol of the Government of Canada"/> </div> </div> </div> </footer> </div> </div> <script type="text/javascript">_satellite.pageBottom();</script> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <script src="/etc/designs/canada/wet-boew/js/ep-pp.min.js"></script> <script src="/etc/designs/canada/wet-boew/js/wet-boew.min.js"></script> <script src="/etc/designs/canada/wet-boew/js/theme.min.js"></script> </body> </html>