CD Bouquets

Custom Bouquets Gifts - Designed for Any Occasion.

Handcrafted bouquets with personalised colours and add-ons. Limited orders available each week.


Pricing

Bouquet SizePrice
10 Roses£20
15 Roses£30
20 Roses£35
25 Roses£40
30 Roses£50
40 Roses£55
50 Roses£65

How it works

1

Fill in the order form.
Choose your size, colours and add-ons.
  

1

Cassia reviews & confirms the order.
She’ll email you within 24-48hrs with a payment link.
 

1

Pay your order.
She confirms the delivery date or pick up.

CD Bouquets Handcrafted in London @cd.bouquets_ on Instagram.

Place Your Order

Fill in the details below — Cassia will confirm within 24–48 hrs


Cassia delivers to NW, N and E London only. She'll confirm if delivery is possible.

Your order total
Select a bouquet size to see your total
Total (full payment)£0.00
Please allow a minimum of 2 weeks notice. Late orders may be accepted depending on availability — Cassia will confirm. Once submitted she will be in touch within 24–48 hours with a payment link for the full amount.

Order received!

Thank you — Cassia will review your order and email you within 24–48 hours with a payment link for the full amount. Keep an eye on your inbox.

(function() { function recalc() { var sizeEl = document.getElementById('cdb-size'); var bflyQty = parseInt(document.getElementById('cdb-butterfly-qty').value) || 0; var butterflies = document.getElementById('cdb-butterflies').checked; var gems = document.getElementById('cdb-gems').checked; var banner = document.getElementById('cdb-banner').checked; var crowns = document.getElementById('cdb-crowns').checked; var glitter = document.getElementById('cdb-glitter').checked; var sizeOpt = sizeEl.options[sizeEl.selectedIndex]; var basePrice = (sizeOpt && sizeOpt.dataset.price) ? parseFloat(sizeOpt.dataset.price) : 0; var total = basePrice; var lines = []; if (basePrice > 0) lines.push(sizeOpt.text + ' — £' + basePrice.toFixed(2)); if (butterflies && bflyQty > 0) { var bCost = bflyQty * 0.5; total += bCost; lines.push(bflyQty + ' butterflies — £' + bCost.toFixed(2)); } if (gems) { total += 2; lines.push('Crystal gems — £2.00'); } if (banner) { total += 2; lines.push('Birthday banner — £2.00'); } if (crowns) { total += 1; lines.push('Crowns — £1.00'); } if (glitter) { total += 5; lines.push('Glitter roses — £5.00'); } document.getElementById('cdb-breakdown').innerHTML = lines.length ? lines.join('
') : 'Select a bouquet size to see your total'; document.getElementById('cdb-total').textContent = total > 0 ? '£' + total.toFixed(2) : '£0.00'; document.getElementById('cdb-hidden-total').value = total > 0 ? '£' + total.toFixed(2) : ''; } document.getElementById('cdb-size').addEventListener('change', recalc); document.getElementById('cdb-gems').addEventListener('change', recalc); document.getElementById('cdb-banner').addEventListener('change', recalc); document.getElementById('cdb-crowns').addEventListener('change', recalc); document.getElementById('cdb-glitter').addEventListener('change', recalc); document.getElementById('cdb-butterflies').addEventListener('change', function() { var row = document.getElementById('cdb-butterfly-qty-row'); var qtyInput = document.getElementById('cdb-butterfly-qty'); if (this.checked) { row.classList.add('show'); qtyInput.required = true; } else { row.classList.remove('show'); qtyInput.required = false; qtyInput.value = ''; recalc(); } recalc(); }); document.getElementById('cdb-butterfly-qty').addEventListener('input', recalc); document.getElementById('cdb-delivery').addEventListener('change', function() { var row = document.getElementById('cdb-postcode-row'); var postcode = document.getElementById('cdb-postcode'); if (this.value.indexOf('Delivery') !== -1) { row.classList.add('show'); postcode.required = true; } else { row.classList.remove('show'); postcode.required = false; postcode.value = ''; } }); var minDate = new Date(); minDate.setDate(minDate.getDate() + 14); document.getElementById('cdb-date').min = minDate.toISOString().split('T')[0]; document.getElementById('cdb-form').addEventListener('submit', function(e) { e.preventDefault(); var btn = document.getElementById('cdb-submit-btn'); var form = this; btn.disabled = true; btn.textContent = 'Sending...'; fetch(this.action, { method: 'POST', body: new FormData(this), headers: { 'Accept': 'application/json' } }).then(function(res) { if (res.ok) { form.style.display = 'none'; document.getElementById('cdb-success').classList.add('show'); } else { btn.disabled = false; btn.textContent = 'Send my order →'; alert('Something went wrong. Please try again.'); } }).catch(function() { btn.disabled = false; btn.textContent = 'Send my order →'; alert('Connection error. Please try again.'); }); }); })();

CD Bouquets Handcrafted in London @cd.bouquets_ on Instagram.

🌸 About CD Bouquets🌸

CD Bouquets is a London-based custom bouquet service, creating personalised arrangements for special moments, gifts, and celebrations.

Each bouquet is carefully designed with attention to detail — from colour combinations to unique add-ons — so every order feels thoughtful and one of a kind.


What started as a creative passion has grown into a small business focused on making meaningful, customised gifts that stand out.

💐 What Makes Us Different💐

We don’t offer one-size-fits-all bouquets.Every order is:
Custom designed to your preferences.
Made with carefully selected colours and details.Created with a focus on presentation and quality.With limited availability each week, every bouquet is given the time and attention it deserves.

CD Bouquets Handcrafted in London @cd.bouquets_ on Instagram.