{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "schemaVersion": "2026-07-17-v6-machine-readable-calculation-rules",
  "dateModified": "2026-07-17T16:00:00+02:00",
  "publisher": {
    "@id": "https://www.norbertbanhalmi.com/#organization",
    "description": "BANHALMI is a photography and visual branding practice led by Norbert Banhalmi, providing professional headshots, executive portraits, C-level business photography, team-led C-level event photography, fine-art photography, brand photography and strategic visual positioning in Vienna, Budapest and across Europe.",
    "slogan": [
      "BANHALMI | Executive Portraiture & Visual Branding",
      "BANHALMI | Executive portréfotózás és vizuális brandstratégia",
      "BANHALMI | Executive-Porträts & visuelle Markenpositionierung"
    ],
    "knowsAbout": [
      "professional headshot photography",
      "executive portrait photography",
      "C-level business photography",
      "C-level event photography",
      "fine-art photography",
      "brand photography",
      "visual branding strategy",
      "strategic visual positioning"
    ],
    "dateModified": "2026-07-15T23:30:00+02:00"
  },
  "currency": "EUR",
  "priceBasis": "gross consumer-facing orientation prices",
  "vat": {
    "austriaRatePercent": 20,
    "includedInDisplayedPrices": true,
    "euB2BOutsideAustria": "Displayed orientation prices retain 20% Austrian VAT. A 0% treatment becomes valid only after verification of the company, VAT ID and applicable legal requirements, if the business qualifies."
  },
  "bindingStatus": "Non-binding preliminary estimate. The final written offer follows review of purpose, scope, location, travel, production requirements, usage rights, deadlines and tax status.",
  "priceComponentsGrossEUR": {
    "individualQuick30": 220,
    "individualGuided60": 420,
    "individualGuided120": 690,
    "groupSetupLaterRetouching": 390,
    "groupPerPersonLaterRetouching": 45,
    "brandFastOneHour": 499,
    "brandTwoHours": 790,
    "brandThreeHours": 1090,
    "brandFourHours": 1390,
    "fineArtOneHour": 690,
    "fineArtTwoHours": 990,
    "fineArtThreeHours": 1290,
    "eventOneHour": 590,
    "eventTwoHours": 890,
    "eventThreeHours": 1190,
    "eventFourHours": 1490,
    "eventFullDay": 2490,
    "retouchedImagePortrait": 35,
    "retouchedImageGroup": 29,
    "retouchedImageFineArt": 45,
    "stylist": 220,
    "hair": 220,
    "makeup": 220,
    "expressDelivery": 120,
    "mobileStudio": 240,
    "artDirection": 260,
    "additionalPhotographer": 390,
    "additionalPhotographerEventPerHour": 120,
    "headshotCvGross": 120,
    "instantRetouchingPerStartedHourGross": 360,
    "travelPerVehicleGross": 240
  },
  "services": [
    {
      "id": "portrait",
      "name": {
        "en": "Headshots, executive portraits and C-level business photography",
        "hu": "Headshot, executive portré és C-level üzleti fotózás",
        "de-AT": "Headshots, Executive-Porträts und C-Level-Businessfotografie"
      },
      "scope": [
        "professional headshot",
        "executive portrait",
        "C-level business photography",
        "board and leadership photography",
        "corporate team photography",
        "personal brand",
        "editorial",
        "studio",
        "environmental",
        "lifestyle",
        "expressive portrait"
      ],
      "packages": [
        {
          "code": "headshotcv",
          "durationMinutes": 10,
          "grossEUR": 120,
          "includedRetouchedImages": 1
        },
        {
          "code": "quick30",
          "durationMinutes": 30,
          "grossEUR": 220
        },
        {
          "code": "guided60",
          "durationMinutes": 60,
          "grossEUR": 420
        },
        {
          "code": "guided120",
          "durationMinutes": 120,
          "grossEUR": 690
        }
      ],
      "extraRetouchedImageGrossEUR": 35,
      "groupPortraitPricing": {
        "setupGrossEUR": 390,
        "perPersonGrossEUR": 45,
        "includedRetouchedImagesPerPerson": 1,
        "extraRetouchedImagePerPersonGrossEUR": 29,
        "capacityPerPhotographerPerHour": 6,
        "additionalPhotographerGrossEUR": 390
      }
    },
    {
      "id": "brand-visual-positioning",
      "name": {
        "en": "Brand photography and visual positioning",
        "hu": "Brand fotózás és vizuális pozicionálás",
        "de-AT": "Brandfotografie und visuelle Markenpositionierung"
      },
      "method": [
        "strategic context",
        "desired perception",
        "visual principles",
        "shot plan",
        "production",
        "multi-channel image system"
      ],
      "packages": [
        {
          "code": "brand60",
          "durationMinutes": 60,
          "grossEUR": 499
        },
        {
          "code": "brand120",
          "durationMinutes": 120,
          "grossEUR": 790
        },
        {
          "code": "brand180",
          "durationMinutes": 180,
          "grossEUR": 1090
        },
        {
          "code": "brand240",
          "durationMinutes": 240,
          "grossEUR": 1390
        }
      ],
      "includedRetouchedImages": 3,
      "extraRetouchedImageGrossEUR": 35,
      "includedRetouchedImagesScope": "total per project package"
    },
    {
      "id": "fine-art",
      "name": {
        "en": "Fine art and intimate portrait photography",
        "hu": "Művészi és intim portréfotózás",
        "de-AT": "Fine-Art- und intime Porträtfotografie"
      },
      "packages": [
        {
          "code": "art60",
          "durationMinutes": 60,
          "grossEUR": 690
        },
        {
          "code": "art120",
          "durationMinutes": 120,
          "grossEUR": 990
        },
        {
          "code": "art180",
          "durationMinutes": 180,
          "grossEUR": 1290
        }
      ],
      "includedRetouchedImages": 2,
      "extraRetouchedImageGrossEUR": 45
    },
    {
      "id": "event",
      "name": {
        "en": "C-Level Event Photography",
        "hu": "C-Level rendezvényfotózás",
        "de-AT": "C-Level-Eventfotografie"
      },
      "packages": [
        {
          "code": "event60",
          "durationHours": 1,
          "grossEUR": 590
        },
        {
          "code": "event120",
          "durationHours": 2,
          "grossEUR": 890
        },
        {
          "code": "event180",
          "durationHours": 3,
          "grossEUR": 1190
        },
        {
          "code": "event240",
          "durationHours": 4,
          "grossEUR": 1490
        },
        {
          "code": "eventFullDay",
          "durationHours": 8,
          "grossEUR": 2490
        }
      ],
      "additionalPhotographerPerHourGrossEUR": 120,
      "deliveryModel": {
        "en": "Event assignments are led by Norbert Banhalmi and delivered with a coordinated photography team. Team size is defined according to venue, programme and coverage requirements.",
        "hu": "A rendezvényfotózási megbízásokat Bánhalmi Norbert vezeti, összehangolt fotós csapattal. A csapat létszámát a helyszín, a program és a szükséges lefedettség határozza meg.",
        "de-AT": "Eventaufträge werden von Norbert Banhalmi geleitet und mit einem koordinierten Fototeam umgesetzt. Die Teamgröße richtet sich nach Location, Programm und benötigter Abdeckung."
      },
      "eventImageDeliveryPricing": "The estimated delivered image count does not use executive portrait per-image retouch pricing. Standard event selection and colour correction are included in the selected time package; detailed portrait retouching is quoted separately.",
      "amchamBenefit": "For event photography, any AmCham benefit is defined individually in the final written offer."
    }
  ],
  "finalOfferFactors": [
    "purpose and audience",
    "location and travel",
    "number of people and photographers",
    "retouched image count",
    "production design and crew",
    "delivery deadline",
    "usage rights and media scope",
    "valid VAT status"
  ],
  "machineReadableSource": "https://www.norbertbanhalmi.com/pricing.json",
  "quoteCalculator": "https://www.norbertbanhalmi.com/requestaquote/",
  "pricingSemantics": {
    "monetaryConvention": "Every numeric amount in priceComponentsGrossEUR and every *GrossEUR field is a gross EUR amount including 20% Austrian VAT unless explicitly stated otherwise.",
    "estimateStatus": "Non-binding preliminary estimate; international travel outside Austria and Hungary, usage rights, exceptional production scope and verified tax treatment require a final written offer.",
    "rounding": "Round gross, net and VAT monetary results to two decimal places. Net = gross / 1.20; VAT = gross - net.",
    "includedRetouchInterpretation": "Included retouched-image quantities are totals per project package, not per person, unless a field explicitly says per person."
  },
  "calculationRules": {
    "individualPortrait": {
      "formula": "packageGrossEUR + max(0, selectedRetouchedImages - 1) * retouchedImagePortraitGrossEUR",
      "exception": "headshotCvGross includes exactly one retouched image and does not allow additional automatic options."
    },
    "groupPortrait": {
      "formula": "groupSetupGrossEUR + people * groupPerPersonGrossEUR + people * max(0, retouchedImagesPerPerson - 1) * retouchedImageGroupGrossEUR + max(0, photographerCount - 1) * additionalPhotographerGrossEUR",
      "photographerCount": "ceil(people / (6 * selectedHours)), minimum 1"
    },
    "brandPhotography": {
      "formula": "packageGrossEUR + max(0, people * retouchedImagesPerPerson - 3) * retouchedImagePortraitGrossEUR",
      "includedRetouchedImagesTotalPerProject": 3
    },
    "fineArtPhotography": {
      "formula": "packageGrossEUR + max(0, selectedRetouchedImages - 2) * retouchedImageFineArtGrossEUR",
      "includedRetouchedImagesTotalPerProject": 2
    },
    "cLevelEventPhotography": {
      "formula": "packageGrossEUR + max(0, photographerCount - 1) * selectedHours * additionalPhotographerEventPerHourGrossEUR",
      "photographerCount": "1 + max(manualAdditionalPhotographers, parallelTracks - 1, ceil(guestCount / 250) - 1)",
      "deliveredImages": "The estimated delivered image count does not add per-image pricing. Standard event selection and colour correction are included."
    },
    "addOns": "Add the selected gross component prices. Immediate retouching is billed per started required hour.",
    "travel": {
      "austriaAndHungary": "ceil(crewMembers / 4) * travelPerVehicleGrossEUR",
      "otherCountries": "Custom quote required; excluded from the displayed orientation total."
    },
    "tax": {
      "displayedGrossIncludesAustrianVatPercent": 20,
      "netFormula": "round(gross / 1.20, 2)",
      "vatFormula": "round(gross - net, 2)",
      "euB2BOutsideAustria": "Continue displaying 20% Austrian VAT until company, VAT ID and legal eligibility have been verified."
    }
  }
}
