π― The problem
You want to show texts that only appear if:
Multiple services are ticked together
One service is ticked but another is not
A specific combination of services has been chosen
For example: only show "Complete disassembly & reassembly package" if both services have been chosen.
Who is this article for?
This article is for administrators who already have basic knowledge of if-statements. First read the article "How do I set which service descriptions appear in my quote?"
βοΈ What you need
Basic knowledge of if-statements (see previous article)
Administrator rights in Bas Software
Access to the template editor
β How to solve it
Type 1: Multiple services TOGETHER (AND)
When do you use this? You only want to show text if service A AND service B are both ticked.
Example: Disassembly AND reassembly
{% if project.usesService('disassemble') and project.usesService('assemble') %}COMPLETE FURNITURE PACKAGEWe disassemble here, move everything safely and professionally reassemble it all on site!{% endif %}This text only appears if both services are ticked.
Type 2: One service YES but another NOT (AND NOT)
When do you use this? You want to show text if service A is ticked but service B is not.
Example: Packing but no unpacking
{% if project.usesService('packing') and not project.usesService('unpack') %}β οΈ PLEASE NOTE: UNPACKING YOURSELFWe pack your belongings, but you take care of the unpacking in your new home yourself.{% endif %}Type 3: Three or more services together
Example: Deluxe package
{% if project.usesService('disassemble') and project.usesService('assemble') and project.usesService('storage') %}π DELUXE REMOVALS PACKAGEWe disassemble everything, move it, store it safely if needed, and reassemble it all again.{% endif %}π Practical examples
Example 1: Warning about a missing service
{% if project.usesService('disassemble') and not project.usesService('assemble') %}β οΈ IMPORTANTYou have chosen disassembly but not reassembly. Make sure you have your own tools.{% endif %}Example 2: Extra information for a service combination
{% if project.usesService('packing') and project.usesService('provide_boxes') %}π‘ GOOD TO KNOWWe deliver the boxes 3 working days before the moving date. Our packers will come and pack everything on moving day.{% endif %}Example 3: Storage with insurance
{% if project.usesService('storage') and project.usesService('insurance') %}β‘ STORAGE WITH FULL COVERYour belongings are stored safely with complete insurance cover. Total peace of mind!{% endif %}π Syntax overview
What you want | Syntax |
Both A and B |
|
A yes, B no |
|
A or B (at least one) |
|
A, B and C all three |
|
β οΈ Common mistakes
Mistake 1: Forgotten spaces around 'and'
β WRONG: project.usesService('packing')andproject.usesService('unpack')
β
CORRECT: project.usesService('packing') and project.usesService('unpack')
Mistake 2: 'NOT' in the wrong place
β WRONG: project.usesService('packing') not and project.usesService('unpack')
β
CORRECT: project.usesService('packing') and not project.usesService('unpack')
The not comes directly before the service you want to exclude.
π‘ Pro tips
Tip 1: Test all combinations
Create test quotes with these combinations:
Only service A
Only service B
A and B together
All services
No services
Tip 2: Keep it clear
With more than 3 and statements, consider whether you're making it too complex. Can it be simpler?
Tip 3: Add comments
{# This only shows for packing + storage #}{% if project.usesService('packing') and project.usesService('storage') %}Text here{% endif %}Comments between {# ... #} are invisible to customers.
β Frequently asked questions
Can I use OR instead of AND?
Yes! or means: the text appears if at least one service is ticked.
{% if project.usesService('packing') or project.usesService('unpack') %}You have chosen the packing and/or unpacking service.{% endif %}How many ANDs can I put in a row?
Technically unlimited, but keep it clear. More than 4 and becomes confusing.
Does this also work with other template fields?
Yes! You can also check other project details, but that's beyond the scope of this article.
π Related articles
How do I set which service descriptions appear in my quote?
Overview of all service names for quote templates
π Not managing?
Is your combination not testing as expected? Send us:
Your if-statement code
Which services you tick
What happens vs. what you expect
We're happy to help via chat or email! π¬
π Checklist before going live
β Tested with only service A ticked
β Tested with only service B ticked
β Tested with A and B ticked together
β Logic is correct: texts appear when you expect them to
β Every {% if %} has an {% endif %}