{"id":19,"date":"2026-08-29T12:43:56","date_gmt":"2026-08-29T16:43:56","guid":{"rendered":"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/"},"modified":"2026-10-05T01:03:37","modified_gmt":"2026-10-05T05:03:37","slug":"florida-contractor-exam-open-book","status":"publish","type":"post","link":"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/","title":{"rendered":"The Florida Contractor Exam Is Open Book. Here Is Why That Does Not Make It Easy."},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Yes, the Florida contractor exam is open book: every part is multiple choice, and you may bring the approved reference books for your licence, permanently tabbed and highlighted, but no notes. Open book does not make it easy. Business and Finance allows 6.5 hours for 120 scored questions, about 3 minutes 15 seconds each.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"florida-contractor-exam-open-book\" data-minutes=\"11\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#F3F1EC;border:1px solid #D9D3C7;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #D9D3C7;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#24405E;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#C4540E}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#4C5561;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#24405E}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#4C5561}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#24405E;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#C4540E}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #D9D3C7;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#24405E;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#C4540E}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#4C5561;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #D9D3C7;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #D9D3C7;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#F3F1EC;box-shadow:0 2px 0 #24405E;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#F3F1EC;box-shadow:inset 0 -2px 0 #24405E}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#F3F1EC}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#audio\",\"name\":\"The Florida Contractor Exam Is Open Book. Here Is Why That Does Not Make It Easy., read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 5 October 2026.\",\"contentUrl\":\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-audio-202610051033.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT10M56S\",\"uploadDate\":\"2026-10-05\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"The Florida Contractor Exam Is Open Book. Here Is Why That Does Not Make It Easy.\",\"startOffset\":0,\"endOffset\":58},{\"@type\":\"Clip\",\"name\":\"How much time do you actually get per question?\",\"startOffset\":58,\"endOffset\":278,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#how-much-time-do-you-actually-get-per-question\"},{\"@type\":\"Clip\",\"name\":\"What open book actually changes about studying\",\"startOffset\":278,\"endOffset\":354,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#what-open-book-actually-changes-about-studying\"},{\"@type\":\"Clip\",\"name\":\"Three minutes is a decision rule, not a target\",\"startOffset\":354,\"endOffset\":395,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#three-minutes-is-a-decision-rule-not-a-target\"},{\"@type\":\"Clip\",\"name\":\"What does running out of time actually cost you?\",\"startOffset\":395,\"endOffset\":456,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#what-does-running-out-of-time-actually-cost-you\"},{\"@type\":\"Clip\",\"name\":\"What you may and may not bring\",\"startOffset\":456,\"endOffset\":536,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#what-you-may-and-may-not-bring\"},{\"@type\":\"Clip\",\"name\":\"What does the booklet actually say about tabs, binders and calculators?\",\"startOffset\":536,\"endOffset\":623,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#what-does-the-booklet-actually-say-about-tabs-binders-and-ca\"},{\"@type\":\"Clip\",\"name\":\"What to do with this\",\"startOffset\":623,\"endOffset\":656,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/#what-to-do-with-this\"}],\"contentSize\":\"4.6 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 11 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-audio-202610051033.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: The Florida Contractor Exam Is Open Book. Here Is Why That Does Not Make It Easy.\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">The Florida Contractor Exam Is Open Book. Here Is Why That Does Not Make It Easy.<\/a><\/li>\n<li data-start=\"57.7\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"57.7\" aria-label=\"Play from: How much time do you actually get per question?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:58<\/span><a href=\"#how-much-time-do-you-actually-get-per-question\">How much time do you actually get per question?<\/a><\/li>\n<li data-start=\"278.48\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"278.48\" aria-label=\"Play from: What open book actually changes about studying\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">4:38<\/span><a href=\"#what-open-book-actually-changes-about-studying\">What open book actually changes about studying<\/a><\/li>\n<li data-start=\"354.34\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"354.34\" aria-label=\"Play from: Three minutes is a decision rule, not a target\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:54<\/span><a href=\"#three-minutes-is-a-decision-rule-not-a-target\">Three minutes is a decision rule, not a target<\/a><\/li>\n<li data-start=\"395.16\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"395.16\" aria-label=\"Play from: What does running out of time actually cost you?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">6:35<\/span><a href=\"#what-does-running-out-of-time-actually-cost-you\">What does running out of time actually cost you?<\/a><\/li>\n<li data-start=\"455.98\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"455.98\" aria-label=\"Play from: What you may and may not bring\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">7:36<\/span><a href=\"#what-you-may-and-may-not-bring\">What you may and may not bring<\/a><\/li>\n<li data-start=\"535.6\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"535.6\" aria-label=\"Play from: What does the booklet actually say about tabs, binders and calculators?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:56<\/span><a href=\"#what-does-the-booklet-actually-say-about-tabs-binders-and-ca\">What does the booklet actually say about tabs, binders and calculators?<\/a><\/li>\n<li data-start=\"623.06\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"623.06\" aria-label=\"Play from: What to do with this\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">10:23<\/span><a href=\"#what-to-do-with-this\">What to do with this<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 5 October 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"thefloridacontractorexam\",64],[6.04,\"p\",\"yesthefloridacontractore\",156],[17.72,\"p\",\"openbookdoesnotmakeiteas\",25],[19.12,\"p\",\"businessandfinanceallows\",78],[26.8,\"p\",\"onthispagethetimeyougetp\",175],[40.56,\"p\",\"thatsoundslikeagift\",19],[41.68,\"p\",\"inpracticeitisthereasona\",51],[45.4,\"p\",\"openbookdoesnotlowerthed\",33],[47.52,\"p\",\"itrelocatesit\",13],[49.16,\"p\",\"theexamstopstestingwheth\",127],[57.7,\"h\",\"howmuchtimedoyouactually\",38],[60.18,\"p\",\"thisisthecalculationthat\",87],[66.62,\"p\",\"everyfigurebelowcomesfro\",162],[80.98,\"p\",\"thelastcolumnissimplediv\",68],[86.22,\"t\",\"businessandfinance\",102],[99.34,\"t\",\"contractadministrationor\",133],[113.54,\"t\",\"contractadministrationor\",134],[127.98,\"t\",\"contractadministrationor\",128],[141.78,\"t\",\"roofingtradeknowledge\",108],[153.7,\"t\",\"classaairconditioningtra\",143],[168.62,\"t\",\"garagedoorstructuralstee\",142],[188.9,\"p\",\"threeandaquarterminutesf\",53],[191.66,\"p\",\"thathastocoverreadingthe\",112],[199.3,\"p\",\"iflocatingthebooktakesyo\",103],[206.22,\"p\",\"andbusinessandfinanceisn\",122],[214.78,\"p\",\"therealclockisalittletig\",40],[217.22,\"p\",\"thebookletsaysanexammayc\",143],[227.22,\"p\",\"prepproviderscommonlyput\",207],[242.3,\"p\",\"youcannottellwhichquesti\",113],[249.46,\"p\",\"anearlierversionofthispa\",94],[257.46,\"p\",\"thebookletsettlesit45hou\",176],[268.82,\"p\",\"ifthenoticeforyourowntes\",135],[278.48,\"h\",\"whatopenbookactuallychan\",40],[281.24,\"p\",\"iftheexamtestedrecallthe\",64],[285.52,\"p\",\"becauseittestsretrievalt\",83],[291.48,\"p\",\"whetheritisworthpayingap\",141],[300.84,\"p\",\"knowwhichbookanswerswhic\",39],[303.36,\"p\",\"beforeyoucanfindapageyou\",39],[305.44,\"p\",\"candidateslosemoretimeat\",70],[311.28,\"p\",\"knowthestructureofeachbo\",40],[313.96,\"p\",\"wherethetableslivewheret\",80],[320.12,\"p\",\"practiselookingthingsupu\",40],[322.32,\"p\",\"readingachapterisnotprac\",28],[324.28,\"p\",\"beinghandedaquestionandr\",40],[327.76,\"p\",\"learnthequestionsthatcan\",37],[330.08,\"p\",\"somebusinessandfinancema\",52],[334.04,\"p\",\"knowingwhichiswhichiswor\",148],[343.2,\"p\",\"theuncomfortableimplicat\",152],[354.34,\"h\",\"threeminutesisadecisionr\",37],[356.46,\"p\",\"theusefulwaytousethatnum\",39],[359.74,\"p\",\"ifyouarepastroughlythree\",111],[368.46,\"p\",\"markitmoveoncomebackwith\",43],[371.38,\"p\",\"italsohelpstoknowwhereth\",180],[383.3,\"p\",\"candidateswhofailnarrowl\",87],[389.94,\"p\",\"runningoutoftimeisaprepa\",67],[395.16,\"h\",\"whatdoesrunningoutoftime\",39],[397.88,\"p\",\"enoughtomakeanafternoono\",47],[401.24,\"p\",\"aretakeisnotafreeseconda\",30],[403.44,\"p\",\"thebookletsaysthatbefore\",144],[413.96,\"p\",\"theamountsarecommonlyrep\",147],[427.08,\"p\",\"thebookletdoesnotprintth\",93],[432.88,\"p\",\"theothercostisthecalenda\",25],[434.72,\"p\",\"aretakehastoberegistered\",91],[440.84,\"p\",\"foralotofcandidatesthere\",128],[449.6,\"p\",\"feesandschedulingrulesar\",87],[455.98,\"h\",\"whatyoumayandmaynotbring\",24],[458.02,\"p\",\"twoconstraintsdomostofth\",54],[462.22,\"p\",\"firstonlyapprovedreferen\",45],[465.02,\"p\",\"thelistismaintainedbythe\",133],[474.66,\"p\",\"thecertifiedspecialtycat\",168],[487.06,\"p\",\"ourguidetowhichbooksyouc\",47],[490.86,\"p\",\"poolcontractorsareagoode\",170],[502.3,\"p\",\"secondandthisiswheregenu\",131],[511.46,\"p\",\"thatdistinctionisprecise\",39],[514.54,\"p\",\"ourpageonwhatyoumaymarki\",127],[523.3,\"p\",\"rulesaresetbythedbprandc\",32],[526.02,\"p\",\"confirmtheapprovedrefere\",124],[535.6,\"h\",\"whatdoesthebookletactual\",59],[540.32,\"p\",\"therulesonreferencemater\",135],[549.04,\"p\",\"inthecandidatebookletsow\",30],[550.84,\"p\",\"onlybooksontheapprovedre\",90],[557.04,\"p\",\"underlininginpenandhighl\",41],[560.52,\"p\",\"handwrittennotesarenotan\",82],[566.2,\"p\",\"originaleditionsonlyexce\",130],[576.48,\"p\",\"nophotocopiesunlesswritt\",107],[583.4,\"p\",\"tabsmustbepermanentlyatt\",68],[588.48,\"p\",\"stickynotespullofflabels\",62],[593.2,\"p\",\"calculatorsmustbesilenth\",85],[600.08,\"p\",\"solarmodelsarenotrecomme\",28],[601.72,\"p\",\"thetabruleistheonethatca\",35],[604.16,\"p\",\"thebookletsaysthatifatab\",130],[611.8,\"p\",\"ruleslikethisbelongtothe\",164],[623.06,\"h\",\"whattodowiththis\",16],[624.54,\"p\",\"getthecorrectapprovedref\",67],[629.26,\"p\",\"buildaonepagemapofwhichb\",61],[634.22,\"p\",\"tabandhighlightwithinthe\",29],[636.38,\"p\",\"seewhatyoumaymarkinyourb\",28],[637.78,\"p\",\"dotimedretrievalpractice\",49],[640.34,\"p\",\"setapersonalcutoffperque\",54],[645.14,\"p\",\"forthestructureandpassra\",59],[650.42,\"p\",\"ifaparthasalreadygonebad\",68]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: the time you get per scored question on every Florida exam from the DBPR booklet&#8217;s own chart, a calculator for how much of it your lookups eat, and the booklet&#8217;s exact rules on tabs, binders and calculators.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"florida-contractor-exam-open-book\" data-category=\"exam-prep\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#24405E;--msq-accent-text:#FFFFFF;--msq-line:#D9D3C7;--msq-warn:#C4540E;--msq-muted:#4C5561;--msq-tint:#F3F1EC;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"b\" data-title=\"How much time do you actually get per question?\" data-section=\"#how-much-time-do-you-actually-get-per-question\">\n<p class=\"msq-question\">1. What does the DBPR booklet list for the Business and Finance exam?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">125 scored questions in 6.5 hours<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">120 scored questions in 6.5 hours<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">120 scored questions in 4.5 hours<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The Examinations at a Glance chart in the <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">DBPR construction Candidate Information Booklet<\/a> lists 120 scored questions in 6.5 hours. The 125 figure adds the pilot questions prep providers commonly report. <a class=\"msq-section\" href=\"#how-much-time-do-you-actually-get-per-question\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"b\" data-title=\"What open book actually changes about studying\" data-section=\"#what-open-book-actually-changes-about-studying\">\n<p class=\"msq-question\">2. Because the exam is open book, what is it mostly testing?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">How much you can recall without the books<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">How quickly you can find the answer in the approved books<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">How well you wrote your own notes<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Only approved references are allowed and the clock is fixed, so speed of retrieval decides most results. The <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">candidate booklet<\/a> bars notes entirely. <a class=\"msq-section\" href=\"#what-open-book-actually-changes-about-studying\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"b\" data-title=\"What does running out of time actually cost you?\" data-section=\"#what-does-running-out-of-time-actually-cost-you\">\n<p class=\"msq-question\">3. What does the booklet say you must do before you sit a failed part again?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Wait 90 days and rebook through the DBPR<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Reapply directly with Professional Testing<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Resit every part, including those you passed<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">booklet<\/a> says you reapply directly with <a href=\"https:\/\/www.floridaexam.com\/\" target=\"_blank\" rel=\"noopener\">Professional Testing<\/a>, and passed parts stand. The fee is commonly reported at about 215 dollars for one part. <a class=\"msq-section\" href=\"#what-does-running-out-of-time-actually-cost-you\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"b\" data-title=\"What you may and may not bring\" data-section=\"#what-you-may-and-may-not-bring\">\n<p class=\"msq-question\">4. Can your approved reference books carry written notes?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Yes, if they are typed rather than handwritten<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">No: highlighting, underlining and permanent tabs are allowed, notes are not<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Yes, on the inside cover only<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">candidate booklet<\/a> allows underlining in pen and highlighting and lists notes among the items not allowed in the room. <a class=\"msq-section\" href=\"#what-you-may-and-may-not-bring\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"What does the booklet actually say about tabs, binders and calculators?\" data-section=\"#what-does-the-booklet-actually-say-about-tabs-binders-and-ca\">\n<p class=\"msq-question\">5. A tab peels off your book cleanly without tearing the page. What does the booklet say?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">It counts as removable and will not be accepted<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">It is fine as long as it has a chapter heading<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">It is fine once taped down at the test centre<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">booklet<\/a> says a tab that can be removed without damage to the page is considered removable and will not be accepted. <a class=\"msq-section\" href=\"#what-does-the-booklet-actually-say-about-tabs-binders-and-ca\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { var skipFirst = box.hasAttribute('data-default-open'); box.addEventListener('toggle', function(){ if (!box.open) { return; } if (skipFirst) { skipFirst = false; return; } track('quiz_open', { mode: 'pre' }); }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">That sounds like a gift. In practice it is the reason a lot of well prepared people fail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open book does not lower the difficulty. It relocates it. The exam stops testing whether you know the answer and starts testing whether you can find it fast enough, and almost nobody prepares for the second thing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-much-time-do-you-actually-get-per-question\">How much time do you actually get per question?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the calculation that reframes the whole exam, and it is oddly hard to find stated plainly anywhere. Every figure below comes from the Examinations at a Glance chart in the DBPR <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">Candidate Information Booklet for construction examinations<\/a>, the edition effective July 2024, read on 5 October 2026. The last column is simple division of the allowed minutes by the scored questions.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Exam<\/th><th>Who sits it<\/th><th>Scored questions<\/th><th>Hours<\/th><th>Time per scored question<\/th><\/tr><\/thead><tbody><tr><td><strong>Business and Finance<\/strong><\/td><td>Every licence<\/td><td>120<\/td><td>6.5<\/td><td>3 minutes 15 seconds<\/td><\/tr><tr><td><strong>Contract Administration or Project Management, each<\/strong><\/td><td>General contractor<\/td><td>60<\/td><td>4.5<\/td><td>4 minutes 30 seconds<\/td><\/tr><tr><td><strong>Contract Administration or Project Management, each<\/strong><\/td><td>Building contractor<\/td><td>50<\/td><td>4.5<\/td><td>5 minutes 24 seconds<\/td><\/tr><tr><td><strong>Contract Administration or Project Management, each<\/strong><\/td><td>Residential contractor<\/td><td>45<\/td><td>4.5<\/td><td>6 minutes<\/td><\/tr><tr><td><strong>Roofing trade knowledge<\/strong><\/td><td>Roofing contractor<\/td><td>80<\/td><td>5<\/td><td>3 minutes 45 seconds<\/td><\/tr><tr><td><strong>Class A air conditioning trade knowledge<\/strong><\/td><td>Class A air conditioning contractor<\/td><td>130<\/td><td>7.5<\/td><td>about 3 minutes 28 seconds<\/td><\/tr><tr><td><strong>Garage door, structural steel or marine dock specialty<\/strong><\/td><td>Those specialty licences<\/td><td>50, 55 or 40<\/td><td>2.5, 2.75 or 2<\/td><td>3 minutes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Three and a quarter minutes for a Business and Finance question. That has to cover reading the question, deciding which book it lives in, getting to the right page, reading enough to be sure, and answering. If locating the book takes you ninety seconds, you have already spent close to half your budget before you have read anything. And Business and Finance is not even the tightest paper on the chart: several of the smaller specialty exams allow exactly three minutes a question.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The real clock is a little tighter than the table. The booklet says an exam may contain a small number of ungraded pilot questions, that they are not identified, and that extra time is built in for them, but it never says how many. Prep providers commonly put the figure at 5 a part, which would mean 125 questions in front of you on Business and Finance and 65 on each general contractor trade part, and it is why two different question counts for the same exam both look authoritative. You cannot tell which questions are pilots, so the only thing to do with that fact is not panic when one looks unlike anything you have seen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An earlier version of this page gave the trade parts as 4.75 hours and flagged a conflict with prep sites quoting 4.5. The booklet settles it: 4.5 hours for Contract Administration and for Project Management, whichever Division I licence you hold, with the smaller building and residential papers buying you more time per question. If the notice for your own test date says something different, that notice wins, and the <a href=\"https:\/\/www2.myfloridalicense.com\/examination-information\/construction-examinations\/\" target=\"_blank\" rel=\"noopener\">DBPR construction examinations page<\/a> is where the current booklet is posted.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"627\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-timing.jpg\" alt=\"Hand filling in an answer sheet with a pencil beside a watch\" class=\"wp-image-17\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-timing.jpg 1200w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-timing-300x157.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-timing-1024x535.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-timing-768x401.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-block-image__caption\">The exam is a search speed test wearing the costume of a knowledge test.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-chart.png\" alt=\"Bar chart of seconds per question on the florida contractor exam open book papers, 180 to 360.\" class=\"wp-image-530\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-chart.png 1600w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-chart-300x169.png 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-chart-1024x576.png 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-chart-768x432.png 768w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-contractor-exam-open-book-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Three small specialty papers allow 180 seconds a question, Business and Finance 195, and the residential contractor&#8217;s trade papers 360. Pilot questions make every figure a little tighter.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-open-book-actually-changes-about-studying\">What open book actually changes about studying<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the exam tested recall, the right preparation would be memorising content. Because it tests retrieval, the right preparation is different, and mostly it is about building a map. Whether it is worth paying a prep school to build that map for you is a separate question, and we have <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/\">priced every major Florida prep package against self study<\/a> to answer it.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Know which book answers which kind of question.<\/strong> Before you can find a page you have to pick a book. Candidates lose more time at this step than anywhere else, and it is entirely fixable.<\/li>\n\n\n<li><strong>Know the structure of each book<\/strong>, not its contents. Where the tables live, where the definitions live, how the index is organised and how it lies to you.<\/li>\n\n\n<li><strong>Practise looking things up under time pressure.<\/strong> Reading a chapter is not practice. Being handed a question and racing to the page is.<\/li>\n\n\n<li><strong>Learn the questions that cannot be looked up.<\/strong> Some Business and Finance maths has to be executed, not located. Knowing which is which is worth more than another pass through the material, and <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-business-finance-exam-math\/\">the maths the book will not do for you<\/a> goes through exactly which calculations fall into that group.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The uncomfortable implication is that a candidate who has read everything once and cannot navigate quickly will do worse than one who has read less and knows exactly where things are.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/open-book-timed-lookup.jpg\" alt=\"Contractor at a desk timing a lookup in a tabbed binder, practising for the florida contractor exam open book format.\" class=\"wp-image-531\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/open-book-timed-lookup.jpg 1376w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/open-book-timed-lookup-300x167.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/open-book-timed-lookup-1024x572.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/open-book-timed-lookup-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Reading the books once is not practice. Racing to the right page against a clock is.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"three-minutes-is-a-decision-rule-not-a-target\">Three minutes is a decision rule, not a target<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The useful way to use that number is as a trigger. If you are past roughly three minutes on a Business and Finance question and you are not close, the expected value of continuing is poor. Mark it, move on, come back with whatever time remains. It also helps to know where the questions cluster: <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-business-and-finance-exam\/\">the content weights for the Florida Business and Finance exam<\/a> put about 38 of its 120 scored questions on accounting, so the accounting reference is the one to know best.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Candidates who fail narrowly often lose on questions they never reached, not on questions they got wrong. Running out of time is a preparation failure that looks like a knowledge failure.<\/p>\n\n\n\n<div class=\"msq-tool\" id=\"pce-ob-calc\">\n<h3>Lookup time budget<\/h3>\n<p>Pick your exam and time yourself on a few practice lookups. It shows how much of each question&#8217;s allowance is left for reading and answering. It is arithmetic on the booklet&#8217;s figures, not a prediction of your result.<\/p>\n<div class=\"msq-calc\">\n<label>Exam<select name=\"exam\"><option value=\"195\">Business and Finance, 120 in 6.5 hours<\/option><option value=\"270\">General contractor CA or PM, 60 in 4.5 hours<\/option><option value=\"324\">Building contractor CA or PM, 50 in 4.5 hours<\/option><option value=\"360\">Residential contractor CA or PM, 45 in 4.5 hours<\/option><option value=\"225\">Roofing trade, 80 in 5 hours<\/option><option value=\"208\">Class A air conditioning trade, 130 in 7.5 hours<\/option><option value=\"180\">Small specialty paper, 3 minutes a question<\/option><\/select><\/label>\n<label>Seconds to pick the right book<input type=\"number\" name=\"pick\" value=\"30\" min=\"0\" step=\"5\"><\/label>\n<label>Seconds to reach the right page<input type=\"number\" name=\"find\" value=\"60\" min=\"0\" step=\"5\"><\/label>\n<div class=\"msq-calc-out\"><button type=\"button\" class=\"msq-btn\" id=\"pce-ob-go\">Work it out<\/button>\n<div id=\"pce-ob-out\" style=\"margin-top:10px;overflow-x:auto\"><\/div><\/div>\n<\/div>\n<p class=\"msq-note\">Allowance per question is the booklet&#8217;s hours divided by its scored questions, before pilot questions. Worked in your browser, nothing is stored or sent.<\/p>\n<\/div>\n<script>\n(function(){\n  var root = document.getElementById('pce-ob-calc'); if (!root) { return; }\n  var out = document.getElementById('pce-ob-out');\n  function v(n){ var e = root.querySelector('[name=\"' + n + '\"]'); return e ? parseFloat(e.value) : NaN; }\n  document.getElementById('pce-ob-go').addEventListener('click', function(){\n    var budget = v('exam'), pick = v('pick'), find = v('find');\n    if (!(pick >= 0) || !(find >= 0)) { out.innerHTML = '<p>Enter the seconds as numbers of zero or more.<\/p>'; return; }\n    var search = pick + find, left = budget - search, share = Math.round(search \/ budget * 100);\n    var msg = left > 0 ? left + ' seconds are left to read the passage and answer.' : 'The lookup alone is over the allowance by ' + (search - budget) + ' seconds.';\n    out.innerHTML = '<table><thead><tr><th>Line<\/th><th>Seconds<\/th><\/tr><\/thead><tbody>'\n      + '<tr><td>Allowance per scored question<\/td><td>' + budget + '<\/td><\/tr>'\n      + '<tr><td>Your lookup<\/td><td>' + search + '<\/td><\/tr>'\n      + '<tr><td>Share of the allowance spent searching<\/td><td>' + share + '%<\/td><\/tr>'\n      + '<\/tbody><\/table><p>' + msg + '<\/p>';\n  });\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-running-out-of-time-actually-cost-you\">What does running out of time actually cost you?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Enough to make an afternoon of timed practice look cheap. A retake is not a free second attempt. The booklet says that before you sit again you must reapply directly with <a href=\"https:\/\/www.floridaexam.com\/\" target=\"_blank\" rel=\"noopener\">Professional Testing<\/a>, the contractor that registers candidates and scores the exams for the state. The amounts are commonly reported as a 135 dollar fee to reapply plus about 80 dollars for each part you sit, so roughly 215 dollars to retake one part and 295 to retake two together. The booklet does not print those figures, and <a href=\"https:\/\/passcontractorexam.com\/articles\/failed-florida-contractor-exam\/\">what happens when you fail a part<\/a> works through where they come from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other cost is the calendar. A retake has to be registered, scheduled and sat, and test dates are not always available in the week you want one. For a lot of candidates the real price of a narrow fail is measured in weeks of not being able to pull permits, and that is the number nobody puts on the invoice. Fees and scheduling rules are set by the department and change, so confirm both before you budget for them.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"627\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-reference-books.jpg\" alt=\"Stack of thick reference books on a dark background\" class=\"wp-image-18\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-reference-books.jpg 1200w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-reference-books-300x157.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-reference-books-1024x535.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/08\/florida-contractor-exam-reference-books-768x401.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-block-image__caption\">You are allowed the books. You are not allowed extra time to hunt through them.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-you-may-and-may-not-bring\">What you may and may not bring<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two constraints do most of the work here, and both catch people out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, only approved reference materials are allowed. The list is maintained by the <a href=\"https:\/\/www2.myfloridalicense.com\/examination-information\/construction-examinations\/\" target=\"_blank\" rel=\"noopener\">Florida DBPR<\/a> and it differs by licence category, so a bundle assembled for a different licence is not automatically right for yours. The certified specialty categories sit their own open book trade paper on the same terms, which is why <a href=\"https:\/\/passcontractorexam.com\/articles\/irrigation-certification-florida\/\">the two exams behind Florida irrigation certification<\/a> follow the same book rules as the three above. Our guide to <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-approved-books\/\">which books you can bring<\/a> covers how to check. Pool contractors are a good example, since the commercial, residential and servicing licences each carry their own trade exam and book list, set out in <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-pool-contractor-license-exam\/\">our comparison of the three Florida pool licence exams<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Second, and this is where genuinely wrong information circulates: permanent book tabs and highlighting or underlining are allowed, but written notes are not. That distinction is precise and it is enforced. Our page on <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-tabs-highlighting-notes\/\">what you may mark in your books<\/a> covers exactly what that means in practice, because some pages currently ranking on this topic get it backwards.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Rules are set by the DBPR and can change. Confirm the approved reference list that applies to your specific test date and licence category rather than relying on any page, including this one.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-the-booklet-actually-say-about-tabs-binders-and-ca\">What does the booklet actually say about tabs, binders and calculators?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The rules on reference materials are short and specific, and they are worth reading in the original because several are stricter than the version that circulates. In the <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">candidate booklet<\/a>&#8217;s own terms:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Only books on the approved reference list<\/strong> may be brought to the test centre, and they must remain as published.<\/li>\n\n\n<li><strong>Underlining in pen and highlighting are allowed.<\/strong> Handwritten notes are not, and bound or loose leaf notes are on the list of items barred from the room.<\/li>\n\n\n<li><strong>Original editions only<\/strong>, except references the list marks as PDF files, which must be printed and bound in a spiral notebook or a binder with three or more holes.<\/li>\n\n\n<li><strong>No photocopies<\/strong> unless written authorization was granted before the exam by the publishers and the department&#8217;s testing bureau.<\/li>\n\n\n<li><strong>Tabs must be permanently attached<\/strong> and carry only normal chapter or page headings. Sticky notes, pull off labels and removable tabs come off before you arrive.<\/li>\n\n\n<li><strong>Calculators must be silent<\/strong>, hand held, battery operated, non printing and without an alphabetic keypad. Solar models are not recommended.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The tab rule is the one that catches people. The booklet says that if a tab can be removed without damage to the page, it counts as removable and will not be accepted, however permanent it looked in the shop. Rules like this belong to the department and they change, so check the booklet for your own test date rather than this summary, and <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-day-preparation-checklist\/\">the exam day checklist<\/a> turns the rest of the day into a list you can tick.<\/p>\n\n\n\n<div class=\"msq-tool msq-check\" data-id=\"pce-ob-books\" data-verb=\" done\">\n<h3>Book check before test day<\/h3>\n<p>Built from the reference rules in the DBPR candidate booklet. Confirm against the booklet and the reference list for your own test date.<\/p>\n<label><input type=\"checkbox\">Every book is on the current approved reference list for my licence<\/label>\n<label><input type=\"checkbox\">Every book is an original edition, with no photocopied pages<\/label>\n<label><input type=\"checkbox\">Any reference the list marks as a PDF is printed and bound in a spiral notebook or a binder with three or more holes<\/label>\n<label><input type=\"checkbox\">Highlighting and pen underlining only: no notes anywhere<\/label>\n<label><input type=\"checkbox\">Every tab is permanently attached and carries only chapter or page headings<\/label>\n<label><input type=\"checkbox\">No sticky notes, pull off labels or tabs that peel away cleanly<\/label>\n<label><input type=\"checkbox\">Calculator is silent, hand held, battery operated, non printing, with no letter keys<\/label>\n<p class=\"msq-check-count\"><\/p>\n<p class=\"msq-note\">Ticks are saved on this device only.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-to-do-with-this\">What to do with this<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>Get the correct approved reference list for your licence category and test date.<\/li>\n\n\n<li>Build a one page map of which book covers which topic area, and learn it cold.<\/li>\n\n\n<li>Tab and highlight within the rules. See <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-tabs-highlighting-notes\/\">what you may mark in your books<\/a>.<\/li>\n\n\n<li>Do timed retrieval practice rather than reading practice.<\/li>\n\n\n<li>Set a personal cutoff per question and actually obey it on the day.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For the structure and pass rates of each part, see <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-format\/\">the format of each exam<\/a>. If a part has already gone badly, <a href=\"https:\/\/passcontractorexam.com\/articles\/failed-florida-contractor-exam\/\">what happens if you fail a part<\/a> has the retake rules.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is the Florida contractor exam open book?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. All Florida construction examinations are open book and consist of multiple choice questions. Candidates are strongly encouraged to bring the approved reference materials, and no other references are permitted at the examination site.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How much time do you get per question?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Business and Finance allows 6.5 hours for 120 scored questions, about 3 minutes 15 seconds each. Contract Administration and Project Management each allow 4.5 hours, for 60 scored questions on the general contractor papers, 50 for building and 45 for residential.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does open book make the exam easier?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>It changes what is being tested rather than lowering the difficulty. The exam measures how quickly you can locate an answer in the approved references, so candidates who have read widely but cannot navigate quickly often run out of time.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What are pilot questions?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Each exam may include a small number of pilot questions, commonly reported as 5, that are not graded and do not count for or against your score. You are not told which ones they are.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can I bring my own notes?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. Permanent book tabs and highlighting or underlining are allowed in books taken into the examination, but written notes are not permitted.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Are the approved books the same for every licence?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. The approved reference list is maintained by the Florida DBPR and differs by licence category, so a book set assembled for a different licence may not be correct for yours.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Why do sources disagree on how many questions the exam has?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Because some quote the scored questions and some quote everything you are shown. Business and Finance is commonly listed as 120 scored questions and presented as 125, the difference being 5 ungraded pilot questions. The trade parts are 60 scored and 65 presented. Both figures are correct, and the one that governs your time budget is the larger one, because you still have to read and answer the pilot items.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How much does it cost to retake a part you failed?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Commonly reported at about 215 dollars to retake one part and 295 to retake two: a 135 dollar fee to reapply with Professional Testing plus about 80 dollars for each part you sit. Fees are set by the department and change without notice, so confirm the current amount before you register rather than budgeting from this page.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Exam rules, approved reference lists and fees are set by the Florida DBPR and change without notice. This page was verified in August 2026 and last rechecked on 5 October 2026 against the DBPR construction candidate booklet effective July 2024. Always confirm against the current DBPR reference list for your test date. We are independent and not affiliated with, endorsed by or approved by the Florida DBPR.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Open book does not mean easy. It means the exam tests how fast you can find things, and most candidates prepare as though it tests memory.<\/p>\n","protected":false},"author":1,"featured_media":16,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"Florida Contractor Exam Open Book: What It Actually Means","rank_math_description":"Yes, the Florida contractor exam is open book: approved books, tabbed and highlighted, but no notes, and about 3 minutes 15 seconds a question.","rank_math_focus_keyword":"florida contractor exam open book","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[3],"tags":[],"class_list":["post-19","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-exam-prep"],"_links":{"self":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":9,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/19\/revisions"}],"predecessor-version":[{"id":535,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/19\/revisions\/535"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/media\/16"}],"wp:attachment":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/categories?post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/tags?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}