function setSliderValue(value, min, max, step){if(typeof value == 'undefined' || typeof min == 'undefined' || typeof max == 'undefined' || typeof step == 'undefined') return 0;if(value <= min) return min;if(value >= max) return max;var low = Math.floor(value);var mid = low + step;if(value < mid){return low;}else{return mid;}}function updateImageFavoriteCounts(){var customizer_type = '';var your = pho = 0;if($('#pricing_customizer_type').length) customizer_type = $("#pricing_customizer_type").val();if ((truepricing.customizer == 'wedding' || truepricing.customizer == 'event') && truepricing.costs.hours > 0){your = pho = Math.min(120, Math.round((10 + ((truepricing.costs.photographers - 1) * 5)) * truepricing.costs.hours));}if(truepricing.customizer == 'wedding' && truepricing.costs.hours == 0 && truepricing.costs.engagement > 0){your = pho = 15;}if(truepricing.customizer == 'portrait' || truepricing.customizer == 'block'){your = pho = 15;}
if($('#pho_fav_image_count').length) $('#pho_fav_image_count').text(pho);if($('#your_fav_image_count').length) $('#your_fav_image_count').text(your);}
function requireTravelHours(){var travelcost = truepricing.calc_travel();if(travelcost) return true;return false;}
/*** Adds Configures and initializes a photography hours slider** @param int The slider number to add* @return void*/function photographyHoursSlider(sliderNum) {var sliderOpts1 = {min: 0,max: 24,step: 0.5,steps: 0.5,minPhotographers: 2,minPhotographersEvent: 2,minPhotographerHours: 4,minPhotographerHoursEvent: 2,labelPrefix: numberToOrdinal(sliderNum) + ' Photographer: ',minWeddingHours: 1}$('#slider_photography_hours_inp-' + sliderNum).slider({min: sliderOpts1.min,max: sliderOpts1.max,step: sliderOpts1.step,steps: sliderOpts1.steps,range: 'min',create: function(event, ui) {//set initial slider handle valuevar sliderInitialVal = $('#slider_photography_hours-' + sliderNum).val();if (sliderNum == 1) {$(this).slider('value', sliderInitialVal);} else {if (truepricing.customizer == 'event') {sliderOpts1.minPhotographers = sliderOpts1.minPhotographers;sliderOpts1.minPhotographerHours = sliderOpts1.minPhotographersEvent;}var additionalInitialVal = truepricing.costs.hours < sliderOpts1.minPhotographerHours ? sliderOpts1.minPhotographerHours : truepricing.costs.hours;if (sliderInitialVal > 0) {additionalInitialVal = sliderInitialVal;}$(this).slider('value', additionalInitialVal);}
//set a tooltip label to the initial value of the slidervar lblTxt = ($(this).slider('value') > 1 || $(this).slider('value') == 0) ? $(this).attr('data-type') + 's' : $(this).attr('data-type');$('
$('#response_min_hours_additional').css('display', 'none');if (sliderNum != 1) {var leadHours = $('#slider_photography_hours-1').val();if (val > leadHours) {$('#response_min_hours_additional').css('display', 'block').html("Additional photographer hours cannot be more than the lead photographer's hours");} else {$('#response_min_hours_additional').css('display', 'none');}}},stop: function(event, ui) {var val = setSliderValue(ui.value, sliderOpts1.min, sliderOpts1.max, sliderOpts1.steps);var moveSlider = false;if (truepricing.customizer == 'event') {sliderOpts1.minPhotographers = sliderOpts1.minPhotographers;sliderOpts1.minPhotographerHours = sliderOpts1.minPhotographersEvent;}if (sliderNum != 1 && val < sliderOpts1.minPhotographerHours) {val = sliderOpts1.minPhotographerHours;moveSlider = true;}if (sliderNum == 1 && val < sliderOpts1.minPhotographerHours && truepricing.costs.photographers > 1) {val = sliderOpts1.minPhotographerHours;moveSlider = true;}var leadHours = $('#slider_photography_hours-1').val();if (sliderNum != 1) {if (leadHours > 0 && val > leadHours) {val = leadHours;moveSlider = true;}} else {$('input[type=hidden]', '.slider-container').not('#slider_photography_hours-1').each(function(i) {if ($(this).val() > val) {$('#slider_photography_hours_inp-' + (i + 2)).slider('value', val);$('#response_min_hours_additional').css('display', 'block').html("Additional photographer hours cannot be more than the lead photographer's hours");} else if ($(this).val() < sliderOpts1.minPhotographerHours) {$('#slider_photography_hours_inp-' + (i + 2)).slider('value', sliderOpts1.minPhotographerHours);}});}if (moveSlider) {$(this).slider('value', val);}if (sliderNum == 1) {truepricing.costs.hours = val;}},change: function(event, ui) {var val = setSliderValue(ui.value, sliderOpts1.min, sliderOpts1.max, sliderOpts1.steps);if (truepricing.customizer == 'event') {sliderOpts1.minPhotographers = sliderOpts1.minPhotographers;sliderOpts1.minPhotographerHours = sliderOpts1.minPhotographersEvent;}if (val == 0.5) {val = 1;}if (val < sliderOpts1.minWeddingHours && val > 0 && truepricing.customizer == "wedding") {val = sliderOpts1.minWeddingHours;}
$('#slider_photography_hours-' + sliderNum).val(val);
var lblTxt = (val > 1 || val == 0) ? $(this).attr('data-type') + 's' : $(this).attr('data-type');$(this).children('.slider_tip').text(sliderOpts1.labelPrefix + val + ' ' + lblTxt);
$('#pricing_wedding_date').change();
if (sliderNum == 1) {truepricing.costs.hours = val;truepricing.checkZipcodeMinimumHours();
//validate engagement hoursvar engagement_hours = $( "#slider_engagement_hours_inp" ).slider( "value" );if(engagement_hours > 0 && engagement_hours < 1.5 && truepricing.discounts.midweek && val == 0)$( "#slider_engagement_hours_inp" ).slider( "value", 1.5 );$("#pricing_newtalent option:selected").each(function () {newtalent = $(this).val();});if(typeof newtalent == 'undefined') newtalent = $("#pricing_newtalent").val();if(newtalent == 1 && truepricing.costs.hours < 5){ //new talent discount and less than required hourstruepricing.discounts.newtalent = false;truepricing.processFieldUpdate('#pricing_newtalent', 'newtalent', '0');$('#response_newtalent').css('display', 'none');showError('You must have at least 5 hours to use the new talent discount!');$('#pricing_newtalent').val('0');}if(truepricing.costs.hours < 6){ //require 6 or more for print credit$('#print_credit_box').text("A minimum of 6 hours is required for print credit");}else{$('#print_credit_box').text("A $200 print credit will be applied to your account to be used towards fine art heirloom printing of your favorite image(s) (no fading for up to 200 years on cotton paper) or other high-quality prints of your choosing (minimum of 6 hours required for print credit).");}} else {switch (sliderNum) {case 2:truepricing.costs.hours_2 = val;break;case 3:truepricing.costs.hours_3 = val;break;case 4:truepricing.costs.hours_4 = val;break;case 5:truepricing.costs.hours_5 = val;break;case 6:truepricing.costs.hours_6 = val;break;}}if ($('#slider_photographers').val() >= sliderOpts1.minPhotographers &&val > 0 &&val <= sliderOpts1.minPhotographerHours) {$('#response_min_hours').css('display', 'block').html('A minimum of ' + sliderOpts1.minPhotographerHours + ' photography hours are required for ' + sliderOpts1.minPhotographers + ' or more photographers.');} else {$('#response_min_hours').css('display', 'none');}var updateField = sliderNum == 1 ? 'photography_hours' : 'photography_hours_' + sliderNum;truepricing.processFieldUpdate('#slider_photography_hours-' + sliderNum,updateField,val);truepricing.updateTotal();updateImageFavoriteCounts();}});}/*** Adds or removes a photography hours slider** @param int The current number of photographers per photographers slider* @return void*/function managePhotographyHoursSliders(val) {var sliderCount = $('div[id^="slider-container-"]').length;var lastSlider = $('div[id^="slider-container-"]:last');if (sliderCount < val) {var sliderNum = parseInt(lastSlider.attr('id').match(/d+/g), 6) + 1;var clonedSlider = lastSlider.clone(true, true).attr('id', 'slider-container-' + sliderNum);clonedSlider.find('#slider_photography_hours-' + (sliderNum - 1)).attr('name', 'data[Contract][photography_hours_' + sliderNum + ']').attr('id', 'slider_photography_hours-' + sliderNum);clonedSlider.find('.slider').remove();clonedSlider.prepend('
');
$('#photography-hours-box').append(clonedSlider);photographyHoursSlider(sliderNum);} else {lastSlider.remove();}}
/*** Converts a number to ordinal (1 => 1st, etc.)** @param int $number A number to convert* @return string The ordinal version of the supplied number*/function numberToOrdinal(number) {switch (number) {case 1:return '1st';break;case 2:return '2nd';break;case 3:return '3rd';break;case 4:return '4th';break;case 5:return '5th';break;case 6:return '6th';break;}}
/*** updatePhotographerSlider** @param int $val The value to set the slider at* @return void*/function updatePhotographerSlider(val) {$('#slider_photographers').val(val);$('#slider_photographers_inp').slider('value', val);managePhotographyHoursSliders(val);}
$(document).ready(function(){truepricing.init(1);
truepricing.costs.add_on_conversion = $("#add_on_conversion1").is(':checked') ? 295.00 : 0;truepricing.costs.add_on_enhance = $("#add_on_enhance1").is(':checked') ? 295.00 : 0;truepricing.costs.add_on_raw = $("#add_on_raw1").is(':checked') ? 295.00 : 0;truepricing.costs.add_on_culling = $("#add_on_culling1").is(':checked') ? 295.00 : 0;truepricing.costs.add_on_cart = $("#add_on_cart1").is(':checked') ? 95.00 : 0;
var sliderOpts3 = {min: 0,max: 4,step: 0.5,steps: 0.5}$('#slider_engagement_hours_inp').slider({ // # of Engagement Hoursmin: sliderOpts3.min,max: sliderOpts3.max,step: sliderOpts3.step,steps: sliderOpts3.steps,range: 'min',create: function(event, ui) {//set initial slider handle value$(this).slider('value', $('#slider_engagement_hours').val());
//set a tooltip label to the initial value of the slidervar lblTxt = ($(this).slider('value') > 1 || $(this).slider('value') == 0) ? $(this).attr('data-type') + 's' : $(this).attr('data-type');$('
truepricing.processFieldUpdate('#slider_engagement_hours', 'engagement_hours', truepricing.costs.engagement);updateImageFavoriteCounts();truepricing.updateTotal();}});
$('div[id^="slider-container-"]').each(function(i) {photographyHoursSlider(i + 1);});
var sliderOpts2 = {min: 1,max: 6,step: 1,steps: 1}$('#slider_photographers_inp').slider({ // # of Photographersmin: sliderOpts2.min,max: sliderOpts2.max,step: sliderOpts2.step,steps: sliderOpts2.steps,range: 'min',create: function(event, ui) {//set initial slider handle value$(this).slider('value', $('#slider_photographers').val());
//set a tooltip label to the initial value of the slidervar lblTxt = ($(this).slider('value') > 1) ? $(this).attr('data-type') + 's' : $(this).attr('data-type');$('
managePhotographyHoursSliders(val);},change: function(event, ui) {var val = setSliderValue(ui.value, sliderOpts2.min, sliderOpts2.max, sliderOpts2.steps);var lblTxt = (val > 1) ? $(this).attr('data-type') + 's' : $(this).attr('data-type');$(this).children('.slider_tip').text(val + ' ' + lblTxt);$('#slider_photographers').val(val);truepricing.costs.photographers = val;
var minHoursMet = true;var minPhotographers = 2;var minPhotographerHours = 4;var minPhotographersEvent = 2;var minPhotographerHoursEvent = 2;var firstPhotographerSlider = $('#slider_photography_hours-1');
if (truepricing.customizer == 'event') {minPhotographers = minPhotographersEvent;minPhotographerHours = minPhotographersEvent;}
if (firstPhotographerSlider.val() < minPhotographerHours && truepricing.costs.photographers >= minPhotographers) {minHoursMet = false;$('#response_min_hours').css('display', 'block').html('A minimum of ' + minPhotographerHours + ' photography hours are required for ' + minPhotographers + ' or more photographers.');}if (minHoursMet) {$('#response_min_hours').css('display', 'none');}
if (val == 2 && firstPhotographerSlider.val() < minPhotographerHours) {firstPhotographerSlider.val(minPhotographerHours);$('#slider_photography_hours_inp-1').slider('value', minPhotographerHours);$('#slider_photography_hours_inp-2').slider('value', minPhotographerHours);}if (val == 1) {$('#response_min_hours_additional').css('display', 'none');}switch (val) {case 1:truepricing.costs.hours_2 = 0;truepricing.costs.hours_3 = 0;truepricing.costs.hours_4 = 0;truepricing.costs.hours_5 = 0;truepricing.costs.hours_6 = 0;break;case 2:truepricing.costs.hours_3 = 0;truepricing.costs.hours_4 = 0;truepricing.costs.hours_5 = 0;truepricing.costs.hours_6 = 0;break;case 3:truepricing.costs.hours_4 = 0;truepricing.costs.hours_5 = 0;truepricing.costs.hours_6 = 0;break;case 4:truepricing.costs.hours_5 = 0;truepricing.costs.hours_6 = 0;break;case 5:truepricing.costs.hours_6 = 0;break;}truepricing.processFieldUpdate('#slider_photographers', 'photographers', truepricing.costs.photographers);truepricing.updateTotal();updateImageFavoriteCounts();$('#pricing_wedding_date').change();$('#pricing_civil_service').change();$('#pricing_veteran').change();$('#pricing_is_patient').change();$('#pricing_guests').change(); //trigger check for guest count$('#pricing_newtalent').change(); //trigger check for new talent discount}});var sliderOpts4 = {min: 999,max: 10000,step: 49,steps: 49}$('#slider_credit_purchase_inp').slider({min: sliderOpts4.min,max: sliderOpts4.max,step: sliderOpts4.step,steps: sliderOpts4.steps,range: 'min',create: function(event, ui) {var val = $('#slider_credit_purchase').val() > 0 ? $('#slider_credit_purchase').val() : sliderOpts4.min;var credit = truepricing.calculateCreditPurchase(val);$(this).slider('value', val);$('
$(".pinkbox .help_tip_icon").tooltip({ offset: [-10, -150] });//cause a change function to call on all slidersjQuery(".jslider-pointer").mousedown().mouseup();
if($('#pricing_venue_zipcode').length){var ac = $('#pricing_venue_zipcode').autocomplete({serviceUrl:'/ajax/checkCity',minChars:2,delimiter: /(,|;)s*/, // regex or charactermaxHeight:400,width:155,zIndex: 9999,deferRequestBy: 200, //milisecondsparams: {}, //aditional parametersnoCache: false, //default is false, set to true to disable caching// callback function:onSelect: function(value, data){$('#pricing_venue_zipcode').val(data);$('#pricing_venue_zipcode').focus();$('#pricing_venue_zipcode').change();}/*,onBeforeGet: function(q){if(typeof q == 'number') q = '';return q;}*/});//$("#universal_search").tooltip({ offset: [0, 0], predelay : 0, position:'center right' });}
if($('#chk_schedule_later').length){$('#chk_schedule_later').change(function(){if($("#chk_schedule_later").is(':checked')){ //schedule later$('#schedule_later_group').css('display', 'none');$('#pricing_wedding_date').val("").hide();$('#pricing_venue_zipcode').val("");truepricing.processFieldUpdate('#pricing_wedding_date', 'wedding_date', "");truepricing.processFieldUpdate('#pricing_venue_zipcode', 'venue_zipcode', "");//truepricing.processFieldUpdate('#first_shoot_type', 'first_shoot_type', "");//truepricing.processFieldUpdate('#first_shoot_hours', 'first_shoot_hours', "");truepricing.processFieldUpdate('#chk_schedule_later', 'chk_schedule_later', 1);}else{$('#schedule_later_group').css('display', 'block');$('#pricing_wedding_date').show();truepricing.processFieldUpdate('#chk_schedule_later', 'chk_schedule_later', 0);}}).change();}
if($('#customizer_select').length){$('#customizer_select').change(function(){var val = $(this).val();window.location = '/booking/set_customizer/' + val;});}
$('#video-addon').remove();$('#add-video-addon').on('click', function(e) {e.preventDefault();$('').attr('type', 'hidden').attr('name', "video-addon").attr('value', "1").attr('id', "video-addon").appendTo('#pricing_form');
truepricing.process()});});
Total updated:
Number of Photography Hours Needed - drag to select
(the average starting point is 6-8 hours for a wedding day)
Step 1d: Engagement Photo Shoot Options
Number of Engagement Photography Hours within City Limits
(the average is 1 to 1.5 hours for an engagement shoot)
Package Options
Image Conversion and Adjustment •
Learn More
We HIGHLY recommend this option. This option must be selected in order to receive all of your images in a high resolution, printable format, free of any watermarks. Without this option selected the images will be available for viewing only (not printable), in a raw, unadjusted format. We always want to be as transparent as possible to make sure that you understand that this option needs to be selected to receive all of your images/files.If you do wind up selecting image conversion now or in the future, all files will receive a basic adjustment of color and contrast and are corrected in batches. Images are then converted into a high resolution printable JPEG format and are yours to download and keep.
Rate: $295.00
Event Highlights, Enhancement and Retouch •
Learn More
We hand-select highlight images (an average of 15 selected images per hour of photography) and individually enhance and retouch each image selected. To see an example of the work being done, please check out this Example.We meticulously craft these highlights in an effort to best tell the story of the day, so they will be enjoyed for years to come. All images displayed on our main website have received this added treatment. Images are provided as hi-res digital media files, suitable for printing, sharing, and archiving. There is no watermark on any of these files.
Rate: $295.00
Images Posted Online •
Learn More
All of your images will be organized by categories, making it much easier to find a specific image. Example Folders: Getting ready, Ceremony, Family Portraits, Couple’s Portraits, Reception. All images are then posted online to a password protected, viewable cart. You will receive a code that you can share with family and friends. Images will remain online for viewing for 3 months with the option to extend.
Rate: $95.00
Raw File Digital Download •
Learn More
You will receive every single image photographed at your event in the raw, original, un-produced format so you have a complete record for your archives. These files have the highest resolution and range of detail that is used when adjusting a file. This produces the best end quality and product. You never know which photo will be important later, and we feel you should have them all 🙂 In the future you will need to convert the files in order to print the images, with professional post-production done to have the images look their absolute best. Think of these as a digital negative. The files are delivered through dropbox via digital download. This also keeps your purchase tax free. If a hard drive is requested you may purchase this for an additional $100 (plus tax). Please just let us know by email with this request.
Rate: $295.00
Image Culling •
Learn More
On average we photograph 300 - 500 pictures per hour. This means that if we are to photograph a 7 hr wedding there may be 2100 - 3500 images. Although it is important to see all of the images, it can be nice to narrow the images down a bit so you are only looking at the better pictures. With Image Culling, we will provide you with a second link in addition to the first link containing ALL of the images. This second link will consist of a the entire photo shoot narrowed down to typically 1/4 the size. For example, if you have 8 of the same family photo captured, we will select two of the best for viewing in this special link.
Rate: $295.00
Album Credit Options
SMALL | 10x10 square flush album | up to 65 images - $875
MEDIUM | 14x10 horizontal flush album | up to 85 images - $995
LARGE | 15x12 horizontal flush album | up to 105 images - $1,200
X-LARGE | 18x12 horizontal flush album | up to 120 images - $1,995
Additional Ways to Save
Only one discount can be applied to your total. If you select more than one discount, the greater discount will automatically be applied to your total.
Are you a member of the US Armed Forces?
(active duty or veteran) 10% Discount
Are you a Health Care Worker, First Responder, or Teacher?
(you or a spouse) 5% Discount
Studio Code (optional)
Bonus Discount on top of other discounts
Lead Photographer is officially assigned 1 month before wedding date.
I'm patient discount :)- additional 10% discount off of lead photographer
Address: 4460 Camrose Ave Suite A, San Diego, CA 92122