4 Game Guarantee: Pool play format will be used with all teams entered (weather permitting).
204 teams maximum for this event
Registration Fee: $1,899.00
Baseballs and lineup cards are included for each team for this event.
Bats: Check Rules tab above.
Two (2) High School board certified Umpires are supplied for every game.
Preliminary round games will take place at area town, high school and collegiate fields with the playoffs and championship games at college facilities
NO GATE FEES EVER!
Above and Beyond our Competition...Expanded Social Media Coverage included during the entirety of this event. Our digital content team promotes players and teams on our various social media platforms, conducts pre and post game interviews with players and coaches, captures photographs and videos during the event and reports the days activity all on our website! Also included are live in game scores, stats and standings for everyone to follow along on our website and app!
All teams are subject to play at any time at the tournament director's request.
Full payment is due on February 1, 2025. Your registration into this tournament is not guaranteed or secured until full payment is received. Teams who have registered and have not paid by February 1, 2025 are subject to being replaced by another fully paid registrant.
Registration
College Coaches Attending
University of Pittsburgh
University of Albany
Central Connecticut State Curry College Castleton University Southern Connecticut State University Albertus Magnus College Eastern Connecticut State University Rhode Island College University Of St. Joseph's (CT) Assumption University Rensselaer Polytechnic Institute Massasoit Community College Bentley University
To Book Using your Team Block or to Book as an Individual, Not Within a Team Block: Click Here!
Our Hotel Policies
ALL TRAVELING TEAM MANAGERS/CLUB ADMINISTRATORS MUST REVIEW OUR HOTEL POLICY & RULES PRESENTED BELOW. FAILURE TO KNOW OUR POLICY COULD SUBJECT YOUR TEAM TO NON-ACCEPTANCE OR REMOVAL FROM THE TOURNAMENT
To insure the quality of service provided during a Firecracker Sports event this organization has put in a Hotel Obligation Policy.
WHAT IS A “HOTEL OBLIGATION” TOURNAMENT?
Simply stated, if your team requires hotel accommodations (team traveling 75 miles or more to the event’s destination city) your team MUST stay at one of the approved participating tournament partner hotels. Teams are required to designate a representative to block off rooms for the entire team through our hotel portal or staff. These participating hotels are reviewable by clicking on the “hotel” links on the tournament event page or on the main page of Firecracker Sports. We do not have a full “stay to play” policy but we do require 75% of your team/coaches to stay with one of our partner hotels through our website. Reservations should be made ASAP as the hotels fill up quick.
We do have a waiver policy, if teams do NOT want to book through us, but want to participate in our events. Please see below.
WHY DOES THIS TOURNAMENT HAVE A “HOTEL OBLIGATION?”
We work very hard to keep our costs down and also balance the economic impact a tournament like ours can have towards the communities and programs we serve. The approved hotels on this website assist with both concerns and the following are the benefits to our programs:
We only require 75% of your team to stay with one of our hotels. This allows 25% of your team to use points for their stay at another hotel, use Air BNB or camp sites for their travel preferences.
To make it manageable we have room nights “blocked” for our out-of-town teams from our participating tournament partner hotels.
Because we do not use a Third Party Housing Group and we negotiate large blocks of rooms with the hotels directly, you’ll find a wide variety of best pricing and amenities from our hotels.
Care in selecting location and proximity to our playing field. See our “fields/facilities” tab to find out where your team most likely will be playing so you can lock down hotels near your fields.
All of our tournament hotels have been approved due to their quality and desire to give our guests the best event experience.
Room inventory which is shared with the tournament to ensure that room demands can be met from year to year.
SCHEDULES & STANDINGS
Standings
Team
W
L
T
RA
RS
RD
W%
Date
Time
Game
Division
Location
Team
Score
Team
Notes
Brackets
TOP PERFORMERS
RULES
There is no rules.
WEATHER
Venue Location
`);printWindow.document.close();
});
/*
function gpe_get_schedules_list() {
const event_id = '39404';
let division_filter_drop = $("#division_filter_drop").val();
let pool_filter_drop = $("#pool_filter_drop").val();
let date_filter_drop = $("#date_filter_drop").val();// Show processing indicator (manually trigger it)
table.destroy(); // Destroy old DataTable before making new AJAX call
$("#schedules_table tbody").html('Loading...'); // Temporary loader row$.ajax({
url: gpe.ajax_url,
type: 'post',
data: {
action: 'gpe_ajax',
type: 'gpe_get_schedules_list',
event_id: event_id,
division_filter_drop: division_filter_drop,
pool_filter_drop: pool_filter_drop,
date_filter_drop: date_filter_drop
},
success: function (response) {
// Clear the table body and add new content
$("#schedules_table tbody").empty().html(response.data.html);// Reinitialize DataTable with processing enabled
table = $("#schedules_table").DataTable({
processing: true,
serverSide: false, // Keep it false unless loading data dynamically
searching: true,
paging: true,
autoWidth: false
});
}
});
}
function gpe_get_standing_list() {
const event_id = '39404';
let division_filter_drop = $("#division_filter_drop_for_standing").val();
let pool_filter_drop = $("#pool_filter_drop_for_standing").val();
// Show processing indicator (manually trigger it)
standings_table.destroy(); // Destroy old DataTable before making new AJAX call
$("#standings_table tbody").html('Loading...'); // Temporary loader row
$.ajax({
url: gpe.ajax_url,
type: 'post',
data: {
action: 'gpe_ajax',
type: 'gpe_get_standing_list',
event_id: event_id,
division_filter_drop: division_filter_drop,
pool_filter_drop: pool_filter_drop
},
success: function (response) {
// Clear the table body and add new content
$("#standings_table tbody").empty().html(response.data.html);
// Reinitialize DataTable with processing enabled
standings_table = $("#standings_table").DataTable({
processing: true,
serverSide: false, // Keep it false unless loading data dynamically
searching: true,
paging: false
});
}
});
}*/
$('#shareDropdown').change(function(){
var selectedOption = $(this).val();
if (selectedOption === "copy") {
var pageLink = window.location.href;
var tempInput = $("");
$("body").append(tempInput);
tempInput.val(pageLink).select();
document.execCommand("copy");
tempInput.remove();
Swal.fire({
title:"Success",
text:"Copied to clipboard!",
icon:'success'
});
// Reset dropdown selection
$(this).prop('selectedIndex', 0);
}
});
});
let isSchedulesTableInitialized = false;function gpeCustomeTabsnew(evt, cityName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("gpe_tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("gpe_tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" gpe_active", "");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " gpe_active";if (cityName === "schedules_and_standings") {
// ✅ Prevent reinitializing the DataTable
if (!isSchedulesTableInitialized) {
// Only call once
window.gpe_get_schedules_list();
window.gpe_get_standing_list();
isSchedulesTableInitialized = true;
}
}
}function gpeCustomeTabs(evt, cityName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("gpe_tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("gpe_tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" gpe_active", "");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " gpe_active";
// Redraw connectors when Bracket tab is activated
if (cityName === "brackets"){
//alert("Bracket");
loadSavedBracket();
}
if (cityName === "brackets" && window.globalSerialMap) {
// Wait until the browser has painted the visible DOM
//requestAnimationFrame(() => {
//setTimeout(() => {
//waitForLayoutAndDraw(window.globalSerialMap, 20);
waitForLayoutAndDrawStable(window.globalSerialMap, 20);
//}, 100);
//});
}
}// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();
var acc = document.getElementsByClassName("gpe_accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}var latitude = document.getElementById("latitude").value;
var longitude = document.getElementById("longitude").value;var iframe = document.createElement("iframe");
iframe.src = "https://www.google.com/maps/embed?pb=!1m28!1m12!1m3!1d19797.686238814687!2d-71.3765509!3d41.8633795!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m13!3e6!4m5!1s0x89e45a80fc2b13ab%3A0x8f62f2e279889968!2sCurrent%20Location!3m2!1d" + latitude + "!2d" + longitude + "!4m5!1s0x89e45a7a2b41f7f3%3A0x6cb46461e8d0c1b4!2s" + latitude + "%2C" + longitude + "!3m2!1d" + latitude + "!2d" + longitude + "!5e0!3m2!1sen!2sus!4v1644233201036!5m2!1sen!2sus";
iframe.width = "528";
iframe.height = "295";
iframe.style.border = "0";
iframe.allowfullscreen = true;var mapContainer = document.getElementById("mapContainer");
mapContainer.innerHTML = "";
mapContainer.appendChild(iframe);
function getPoolsByDivision(divisionId) {
return $.ajax({
url: gpe.ajax_url,
method: "POST",
dataType: "json",
data: {
action: "gpe_ajax",
type: "get_pools_save",
division_id: divisionId
}
});
}function loadSavedBracket() {
// Get the division ID from the division select dropdown
const divisionId = $("#division_select").val();
// Get the current event ID dynamically from PHP
const eventId = '39404';// If division ID is not selected, exit early
if (!divisionId) return;// Perform both AJAX requests in parallel
$.when(
$.ajax({
url: gpe.ajax_url, // URL for the AJAX request
type: "POST", // HTTP method
dataType: "json", // Expected response type
data: {
action: "gpe_ajax", // WordPress action hook for AJAX
type: "get_saved_bracket", // Custom action to get saved bracket data
event_id: eventId, // The current event ID
division_id: divisionId // The selected division ID
}
}),
getPoolsByDivision(divisionId) // Function to get pools for the selected division
).done(function (bracketRes, poolsRes) {
// Extract bracket data from the first response (bracketRes)
const bracketData = bracketRes[0]?.data?.bracket_data || [];
// Prepare a map of pool ID to pool title
const poolMap = {};
poolsRes[0]?.data?.forEach(pool => {
poolMap[pool.id] = pool.title;
});// Call renderSavedBracket function to render the bracket
renderSavedBracket(bracketData, poolMap);
}).fail(function () {
// In case of failure, show an error message in the bracket container
$("#bracket").html("
Error loading bracket.
");
});
}
function renderSavedBracket(bracketData, poolMap) {
let bracketWrapper = $(".bracket_wrapper");
if (bracketWrapper.length === 0) {
bracketWrapper = $("
").addClass("bracket_wrapper");
// Append it to the main container if it's missing
$("#bracket").replaceWith(bracketWrapper);
} else {
bracketWrapper.empty(); // Clear existing content if already present
}
let bracketDiv = $("
").addClass("match-container").css("margin-bottom", "20px");
matchContainer.append(matchDiv);match.serial = serial;
if (!groupMatches[match.column_number]) groupMatches[match.column_number] = [];
groupMatches[match.column_number].push(match);serialMap[`${group}-${serial}`] = {
...match,
group,
column: match.column_number,
serial
};if (i === 0) roundDiv1.append(matchContainer);
else if (i >= 1 && i <= 4) roundDiv2.append(matchContainer);
else if (i === 5 || i === 6) roundDiv3.append(matchContainer);
else if (i === 7) roundDiv4.append(matchContainer);
});columnsContainer.append(roundDiv1);
columnsContainer.append($("
").addClass("match-container");
matchContainer.append(matchDiv);match.serial = serial;
serialMap[`${group}-${serial}`] = {
...match,
group,
column: match.column_number,
serial
};if (i === 0) roundDiv1.append(matchContainer);
else if (i === 1 || i === 2) roundDiv2.append(matchContainer);
else if (i === 3) roundDiv3.append(matchContainer);
});columnsContainer.append(roundDiv1);
columnsContainer.append($("