Time‑Saving Efficiency
Audit variances quickly, reduce paperwork, and maximize your working hours.
24SEVEN provides end‑to‑end cash visibility with more convenience than ever before.
Accessible online and on mobile devices, 24SEVEN provides a single place to request deposits, order change and track your cash in near real‑time.

Audit variances quickly, reduce paperwork, and maximize your working hours.

Complete your most essential transactions online. Simply place your 24SEVEN deposit bag into your Brink's Box to complete a deposit, and order change conveniently through the platform.

Complete your most essential transactions online. Simply place your 24SEVEN deposit bag into your Brink's Box to complete a deposit, and order change conveniently through the platform.

Follow your deposits and change orders from your mobile device or desktop computer.

Follow your deposits and change orders from your mobile device or desktop computer.
The following has evaluated to null or missing:
==> title [in template "20101#20128#INSIGHT_ABSTRACT" at line 38, column 64]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${title.getData()} [in template "20101#20128#INSIGHT_ABSTRACT" at line 38, column 62]
----
1<div class="card insight-card">
2 <#assign background = "">
3 <#assign imageAltText = "">
4 <#if smallImage?? && smallImage.getData()?? && smallImage.getData()?has_content>
5 <#assign background = "background:url(" + smallImage.getData() + ") no-repeat center center;-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;" />
6 <#assign imageAltText = smallImage.getAttribute('alt')>
7 </#if>
8 <div class="card-image card-image-background" style="${background}" aria-label="${imageAltText}">
9 <div class="blue-overlay"></div>
10
11 <div class="card-image-content">
12 <#if title?? && title.getData()?? && title.getData() != "">
13 <h3>${title.getData()}</h3>
14 <#elseif eventName?? && eventName.getData()?? && eventName.getData() != "">
15 <h3 class="text-center">
16 ${eventName.getData()}
17 <#assign filterable_startDate_Data = getterUtil.getString(filterable_startDate.getData())>
18
19 <#if validator.isNotNull(filterable_startDate_Data)>
20 <#assign filterable_startDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", filterable_startDate_Data, locale)>
21 </#if>
22
23 <#if validator.isNotNull(filterable_startDate_DateObj)>
24 <br>${dateUtil.getDate(filterable_startDate_DateObj, "MMM dd", locale)}
25 </#if>
26 </h3>
27 </#if>
28 </div>
29 </div>
30 <#if shortDescription?? && shortDescription.getData()?? && shortDescription.getData() != "">
31 <div class="card-description">
32 <p>${shortDescription.getData()}</p>
33 </div>
34 </#if>
35 <#if link?? && link.getData() != "">
36 <a class="btn-brinks btn-link btn-white" target="_blank" href="${link.getData()}" aria-label="${title.getData()}"><@liferay.language key="read-more" /><span class="sr-only"> about ${title.getData()}</span></a>
37 <#else>
38 <a class="btn-brinks btn-link btn-white" aria-label="${title.getData()}" href="${portalUtil.getLayoutSetFriendlyURL(themeDisplay.getLayoutSet(), themeDisplay)}/-/${.vars['reserved-article-url-title'].data}"><@liferay.language key="read-more" /><span class="sr-only"> about ${title.getData()}</span></a>
39 </#if>
40</div>
41<style>
42.sr-only {
43 position: absolute;
44 width: 1px;
45 height: 1px;
46 padding: 0;
47 margin: -1px;
48 overflow: hidden;
49 clip: rect(0, 0, 0, 0);
50 white-space: nowrap;
51 border: 0;
52}
53</style>
The following has evaluated to null or missing:
==> title [in template "20101#20128#INSIGHT_ABSTRACT" at line 38, column 64]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${title.getData()} [in template "20101#20128#INSIGHT_ABSTRACT" at line 38, column 62]
----
1<div class="card insight-card">
2 <#assign background = "">
3 <#assign imageAltText = "">
4 <#if smallImage?? && smallImage.getData()?? && smallImage.getData()?has_content>
5 <#assign background = "background:url(" + smallImage.getData() + ") no-repeat center center;-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;" />
6 <#assign imageAltText = smallImage.getAttribute('alt')>
7 </#if>
8 <div class="card-image card-image-background" style="${background}" aria-label="${imageAltText}">
9 <div class="blue-overlay"></div>
10
11 <div class="card-image-content">
12 <#if title?? && title.getData()?? && title.getData() != "">
13 <h3>${title.getData()}</h3>
14 <#elseif eventName?? && eventName.getData()?? && eventName.getData() != "">
15 <h3 class="text-center">
16 ${eventName.getData()}
17 <#assign filterable_startDate_Data = getterUtil.getString(filterable_startDate.getData())>
18
19 <#if validator.isNotNull(filterable_startDate_Data)>
20 <#assign filterable_startDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", filterable_startDate_Data, locale)>
21 </#if>
22
23 <#if validator.isNotNull(filterable_startDate_DateObj)>
24 <br>${dateUtil.getDate(filterable_startDate_DateObj, "MMM dd", locale)}
25 </#if>
26 </h3>
27 </#if>
28 </div>
29 </div>
30 <#if shortDescription?? && shortDescription.getData()?? && shortDescription.getData() != "">
31 <div class="card-description">
32 <p>${shortDescription.getData()}</p>
33 </div>
34 </#if>
35 <#if link?? && link.getData() != "">
36 <a class="btn-brinks btn-link btn-white" target="_blank" href="${link.getData()}" aria-label="${title.getData()}"><@liferay.language key="read-more" /><span class="sr-only"> about ${title.getData()}</span></a>
37 <#else>
38 <a class="btn-brinks btn-link btn-white" aria-label="${title.getData()}" href="${portalUtil.getLayoutSetFriendlyURL(themeDisplay.getLayoutSet(), themeDisplay)}/-/${.vars['reserved-article-url-title'].data}"><@liferay.language key="read-more" /><span class="sr-only"> about ${title.getData()}</span></a>
39 </#if>
40</div>
41<style>
42.sr-only {
43 position: absolute;
44 width: 1px;
45 height: 1px;
46 padding: 0;
47 margin: -1px;
48 overflow: hidden;
49 clip: rect(0, 0, 0, 0);
50 white-space: nowrap;
51 border: 0;
52}
53</style>
With cash continuing to be a preferred payment method for consumers of all ages, cash-handling technology is constantly evolving for the future. As a result, both retailers and banks are always looking to invest in new services and devices to meet the needs of their customers more efficiently.