
	<div id="termsModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="termsModalLabel" aria-hidden="true">
		<div class="modal-header">
			<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
			<h3 id="myModalLabel">Submit Reservation</h3>
		</div>
		<div class="modal-body">
			<p>Please note: USC Transportation is currently upgrading its parking systems. Moving forward, we will require a minimum processing time of 3-4 business days for standard 
                Parking Reservation requests. For large events (50 vehicles or more), the minimum processing time is 7-10 business days. 
                Failure to meet this allowance may require guests to pay for alternative parking using our Text2Park system.</p>
			<p>
				<input type="checkbox" id="_tsp_accept_reservation_terms" name="_tsp_accept_reservation_terms" />
				<label for="_tsp_accept_reservation_terms" id="_tsp_accept_reservation_terms_label" >I have read and agree to these terms</label>
			</p>
		</div>
		<div class="modal-footer">
			<button type="button" class="btn terms-cancel-button" data-dismiss="modal" aria-hidden="true">Close</button>
			<button type="button" class="btn btn-primary terms-ok-button" disabled>Submit</button>
		</div>
	</div>

	<style>
		#_tsp_accept_reservation_terms_label{
			display:inline-block;
		}
		.modal-footer .btn.terms-cancel-button{
			padding: 0px 28px;
			color: #fff;
			background-image: none;
			background-color: #5b5b5b;
			border: none;
			height: 40px;
			font-family: 'Roboto', sans-serif;
			font-weight: 300;
			border-radius: 0;
			font-size: 20px;
  			font-size: 1.25rem;
		}
		.modal-footer .btn.terms-ok-button{
			padding: 0px 28px;
			color: #fff;
			background-color: #990000;
			background-image: none;
			border: none;
			height: 40px;
			font-family: 'Roboto', sans-serif;
			font-weight: 300;
			border-radius: 0;
			font-size: 20px;
  			font-size: 1.25rem;
		}
        

        .verify-isd {
            width: auto;background-color: #900;outline: 0;padding: 8px 12px;
            color: #FFF;border: 0; text-decoration:none!important;
        }
        .verify-isd:hover, .verify-isd:active, .verify-isd:visited {color:#FFF;text-decoration:none!important;} 
        span.isd-verified {border:1px solid #008000;color:#008000;padding:4px;display:inline-block;margin-top:4px;}
        a#check-isd {color: #FFF;}

        .gravity-theme.ui-datepicker .ui-datepicker-header select option {color: #585E6A!important}
	</style>
	
    <script type="text/javascript">
        //
        document.addEventListener("DOMContentLoaded", (event) => {
            // select boxes
            const req_campus= document.querySelector('.req-campus select.gfield_select');
            const req_lots  = document.querySelector('.req-structure select.gfield_select');
            const req_gates = document.querySelector('.req-entrance select.gfield_select');
  
            // Lots values to load
            const upcLots   = ["Royal St. Structure", "Downey Way Structure",  "McCarthy Way Structure", "Grand Ave. Structure", "Figueroa St. Structure"];
            const hscLots   = ["Biggy Structure"];
        
            // Gates values
            let gateOptions = [];

            // selected inputs, gets values from POSTed form inputs
            let selCampus = '';
            let selLot    = '';
            let selGate   = '';

            
            // load Lots based on the Campus selection
            switch (selCampus) {
                case 'upc':
                    let upcOptions = upcLots.map( e=>{
                        return (selLot==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    req_lots.innerHTML = '<option value="">Select a Structure</option>' + upcOptions.join('');
                    break;
                case 'hsc':
                    let hscOptions = hscLots.map( e=>{
                        return (selLot==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    req_lots.innerHTML = '<option value="">Select a Structure</option>' + hscOptions.join('');
                    break;
                default:
                    //
            }  

            // load Gates based on Structure/Lots selection
            switch (selLot) {
                case 'Royal St. Structure':
                    gateOptions = ["Royal Street Entrance (Closed Weekends and Holidays)", "McClintock Ave. Entrance (24 hrs)"].map(e=>{
                        return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    break;
                case 'Downey Way Structure':
                    gateOptions = ["McClintock Ave. Entrance (24 hrs)", "Watt Way Entrance (Closed Weekends and Holidays)", "Downey Way Entrance"].map(e=>{
                        return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    break;
                case 'McCarthy Way Structure':
                    gateOptions = ["McCarthy Way Entrance (24 hrs)"].map(e=>{
                        return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    break;
                case 'Grand Ave. Structure':
                    gateOptions = ["Grand Ave. Structure (Closed Weekends and Holidays)"].map(e=>{
                        return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    break;
                case 'Figueroa St. Structure':
                    gateOptions = ["Figueroa St. Structure (Closed Weekends and Holidays)"].map(e=>{
                        return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    break;
                case 'Biggy Structure':
                    gateOptions = ["HSC", "Biggy"].map(e=>{
                        return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                    });
                    break;
                default:
                    //
            }  

            // set Gates/Entrances selection
            if (req_gates.length > 0)  req_gates.innerHTML = '<option value="">Select an Entrance</option>' + gateOptions.join('');

            // Campus selector clicked
            req_campus.addEventListener('click', function() {
                switch (req_campus.options[req_campus.selectedIndex].value) {
                    case 'upc':
                        let upcOptions = upcLots.map( e=>{ return `<option value="${e}">${e}</option>` } );
                        req_lots.innerHTML = '<option value="">Select a Structure</option>' + upcOptions.join('');
                        break;
                    case 'hsc':
                        let hscOptions = hscLots.map( e=>{ return `<option value="${e}">${e}</option>` } );
                        req_lots.innerHTML = '<option value="">Select a Structure</option>' + hscOptions.join('');
                        break;
                    default:
                        req_lots.innerHTML  = '<option value="">Select a Structure</option>';
                        req_gates.innerHTML = '<option value="">Select an Entrance</option>';
                }  
            });

            // Structure selector clicked
            req_lots.addEventListener('click', function() {
                let selectedOption = req_lots.querySelector('option[selected]');

                // select it
                if (selectedOption) selectedOption.removeAttribute('selected');
                req_lots.options[req_lots.selectedIndex].defaultSelected = true;

                // populate Entrances based on Structure selected
                switch (req_lots.options[req_lots.selectedIndex].value) {
                    case 'Royal St. Structure':
                        gateOptions = ["Royal Street Entrance (Closed Weekends and Holidays)", "McClintock Ave. Entrance (24 hrs)"].map(e=>{
                            return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                        });
                        break;
                    case 'Downey Way Structure':
                        gateOptions = ["McClintock Ave. Entrance (24 hrs)", "Watt Way Entrance (Closed Weekends and Holidays)", "Downey Way Entrance"].map(e=>{
                            return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                        });
                        break;
                    case 'McCarthy Way Structure':
                        gateOptions = ["McCarthy Way Entrance (24 hrs)"].map(e=>{
                            return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                        });
                        break;
                    case 'Grand Ave. Structure':
                        gateOptions = ["Grand Ave. Structure (Closed Weekends and Holidays)"].map(e=>{
                            return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                        });
                        break;
                    case 'Figueroa St. Structure':
                        gateOptions = ["Figueroa St. Structure (Closed Weekends and Holidays)"].map(e=>{
                            return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                        });
                        break;
                    case 'Biggy Structure':
                        gateOptions = ["HSC", "Biggy"].map(e=>{
                            return (selGate==e) ? `<option value="${e}" selected>${e}</option>` : `<option value="${e}">${e}</option>`;
                        });
                        break;
                    default:
                        //
                }  

                // set Entrance selection
                req_gates.innerHTML = '<option value="">Select an Entrance</option>' + gateOptions.join('');
            });

            // Entrance selector clicked
            req_gates.addEventListener('click', function() {
                let selectedOption = req_gates.querySelector('option[selected]');

                // select it
                if (selectedOption) selectedOption.removeAttribute('selected');
                req_gates.options[req_gates.selectedIndex].defaultSelected = true;
            });
        
        });
    </script>
    {"id":345,"date":"2013-11-21T23:05:15","date_gmt":"2013-11-21T23:05:15","guid":{"rendered":"https:\/\/transnet.usc.edu\/?page_id=345"},"modified":"2026-04-30T18:06:53","modified_gmt":"2026-05-01T01:06:53","slug":"parking-reservations","status":"publish","type":"page","link":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/","title":{"rendered":"Parking Reservations"},"content":{"rendered":"<script>\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n<\/script>\n<p>Thank you for visiting our reservation desk &#8211; unfortunately, this service is currently unavailable. The reservation desk is open to receive requests between the hours of 7:00am &#8211; 5:00pm, Monday &#8211; Friday. Please return to this page during our business hours to submit your request. Thank you!<\/p>\n\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><!--ninja_forms_display_form id--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-345","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Parking Reservations - USC Transportation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Parking Reservations - USC Transportation\" \/>\n<meta property=\"og:description\" content=\"&nbsp; &nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/\" \/>\n<meta property=\"og:site_name\" content=\"USC Transportation\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-01T01:06:53+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/transnet.usc.edu\\\/index.php\\\/parking-reservations\\\/\",\"url\":\"https:\\\/\\\/transnet.usc.edu\\\/index.php\\\/parking-reservations\\\/\",\"name\":\"Parking Reservations - USC Transportation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/transnet.usc.edu\\\/#website\"},\"datePublished\":\"2013-11-21T23:05:15+00:00\",\"dateModified\":\"2026-05-01T01:06:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/transnet.usc.edu\\\/index.php\\\/parking-reservations\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/transnet.usc.edu\\\/index.php\\\/parking-reservations\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/transnet.usc.edu\\\/index.php\\\/parking-reservations\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/transnet.usc.edu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Parking Reservations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/transnet.usc.edu\\\/#website\",\"url\":\"https:\\\/\\\/transnet.usc.edu\\\/\",\"name\":\"USC Transportation\",\"description\":\"USC Auxiliary Services\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/transnet.usc.edu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Parking Reservations - USC Transportation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/","og_locale":"en_US","og_type":"article","og_title":"Parking Reservations - USC Transportation","og_description":"&nbsp; &nbsp;","og_url":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/","og_site_name":"USC Transportation","article_modified_time":"2026-05-01T01:06:53+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/","url":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/","name":"Parking Reservations - USC Transportation","isPartOf":{"@id":"https:\/\/transnet.usc.edu\/#website"},"datePublished":"2013-11-21T23:05:15+00:00","dateModified":"2026-05-01T01:06:53+00:00","breadcrumb":{"@id":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/transnet.usc.edu\/index.php\/parking-reservations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/transnet.usc.edu\/"},{"@type":"ListItem","position":2,"name":"Parking Reservations"}]},{"@type":"WebSite","@id":"https:\/\/transnet.usc.edu\/#website","url":"https:\/\/transnet.usc.edu\/","name":"USC Transportation","description":"USC Auxiliary Services","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/transnet.usc.edu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/pages\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/comments?post=345"}],"version-history":[{"count":52,"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/pages\/345\/revisions"}],"predecessor-version":[{"id":349725,"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/pages\/345\/revisions\/349725"}],"wp:attachment":[{"href":"https:\/\/transnet.usc.edu\/index.php\/wp-json\/wp\/v2\/media?parent=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}