Freightor
ES
EN
{{ currentUser.email }} · {{ isAdmin ? t('role.admin') : planLabel }}
{{ t('app.upgrade') }}
{{ t('nav.panel') }}
{{ t('auth.signOut') }}
{{ t('auth.signIn') }}
{{ t('auth.signUp') }}
{{ t('history.editingNotice') }} {{ editingQuote }} · {{ t('history.editingCost') }}
{{ t('history.cancelEdit') }}
{{ t('app.eyebrow') }}
{{ t('app.intro') }}
{{ modeLabel }}
{{ modeDetected ? t('mode.autoDetected') : t('mode.manual') }} · {{ modeCurrency }}
{{ showModePicker ? t('mode.hidePicker') : t('mode.change') }}
{{ t('mode.willDetect') }}
{{ t('preview.eyebrow') }}
{{ shortLoc(origin) }}→ {{ shortLoc(destination) }}
{{ shortLoc(origin) }}→ …
{{ t('preview.empty') }}
{{ t('preview.dist') }} {{ distLabel }}
{{ t('preview.duration') }} {{ hasRoute ? durationHrs + ' hrs' : '—' }}
{{ t('preview.trip') }} {{ emptyReturn ? 'Two Way' + (emptyLeg ? ' · ' + t('route.emptyLegShort') : '') : 'One Way' }}
Ferry {{ ferryLabel }}
{{ t('preview.unit') }} {{ previewUnit }}
{{ t('preview.box') }} {{ boxType === 'reefer' ? t('preview.reefer2') : t('preview.dry') }}
{{ t('preview.usLeg') }} {{ usLegLabel }}
{{ t('preview.crossing') }} {{ crossingMode === 'own' ? t('border.ownMode') : t('border.drayageMode') }}
{{ t('reveal.paidFolio') }} {{ lastQuote.folio }}
{{ resultPrice.main }}
{{ resultPrice.alt }}
{{ t('result.taxNote') }}
{{ t('reveal.pending') }}
{{ t('reveal.lockTitle') }}
{{ creditNote }}
{{ t('steps.next') }}: {{ qSteps[qStep].label }}
{{ revealing ? t('reveal.working') : revealLabel }} →
USD/MXN · {{ fxSource }} · {{ fxDate }}
{{ t('preview.update') }}
{{ lastQuote.folio }} · {{ lastQuote.date }}
{{ shortLoc(lastQuote.origin) }} → {{ shortLoc(lastQuote.destination) }}
{{ resultPrice.main }}
{{ resultPrice.alt }}
{{ t('result.taxNote') }}
{{ lastQuote.unit }} · {{ resultPrice.dist }} · {{ lastQuote.weight }} ton · {{ lastQuote.durationHrs }} hrs
{{ t('result.perDist') }}
{{ resultPrice.perDist }}
{{ t('result.perTon') }}
{{ resultPrice.perTon }}
{{ t('result.margin') }}
{{ lastQuote.marginPct.toFixed(1) }}%
{{ t('result.totalCosts') }}
{{ resultPrice.costs }}
{{ t('result.pdf') }}
{{ t('email.sendBtn') }}
{{ t('result.new') }}
{{ t('result.breakdown') }}
{{ row.section }}
{{ row.lbl }} {{ row.val }}
{{ row.lbl }} {{ row.val }}
{{ t('locked.title') }}
{{ t('locked.desc') }}
{{ t('locked.cta') }}→
{{ t('history.eyebrow') }}
{{ t('dash.hello') }} {{ greetingName }}
{{ t('app.plan') }} {{ planLabel }}
{{ t('dash.unlimited') }}
{{ acctStatus.text }}
{{ quotaInfo.remaining }} {{ quotaInfo.credits ? t(quotaInfo.remaining === 1 ? 'dash.credit1' : 'dash.creditsN') : t('dash.remaining') }}
{{ t('dash.monthCount').replace('{n}', quotaInfo.used) }}
{{ t('dash.usedOf').replace('{used}', quotaInfo.used).replace('{limit}', quotaInfo.limit) }}
{{ quotaInfo.used }} {{ t('dash.thisMonth') }}
{{ acct.subscriptionStatus === 'comp' ? t('dash.compUntil') : acct.cancelAtPeriodEnd ? t('org.accessUntil') : t('org.renewsOn') }} {{ fmtDate(acct.currentPeriodEnd) }}
{{ t('dash.expiring').replace('{n}', acct.nextExpiry.credits).replace('{date}', fmtDate(acct.nextExpiry.at)) }}
+ {{ t('dash.newQuote') }} →
{{ t('dash.upgradeToQuote') }} →
{{ t('dash.noCredits') }}
{{ t('dash.buyCredits') }}
{{ t('dash.seePlans') }}
{{ t('dash.managePlan') }}
{{ t('buy.checking') }}
{{ t('buy.oxxoPending') }}
{{ t('buy.slow') }}
{{ t('buy.refresh') }}
{{ t('buy.pastDue') }}
{{ t('buy.updateCard') }}
{{ t('buy.canceling').replace('{date}', fmtDate(acct.currentPeriodEnd)) }}
{{ t('ledger.title') }} {{ showLedger ? '▴' : '▾' }}
…
{{ t('ledger.empty') }}
{{ t('history.date') }} {{ t('ledger.concept') }}
{{ t('ledger.credits') }} {{ t('ledger.expires') }}
{{ fmtDate(e.createdAt) }}
{{ ledgerLabel(e) }}
{{ e.delta > 0 ? '+' + e.delta : e.delta }}
{{ e.delta > 0 && e.expiresAt ? fmtDate(e.expiresAt) : '' }}
{{ t('ledger.hint') }}
{{ t('org.team') }} · {{ orgSummary.name }}
{{ orgSummary.seatsUsed }} {{ t('org.of') }} {{ orgSummary.seats }} {{ t('org.seats') }}
{{ seatsLeft }} {{ t('org.available') }}
{{ t('org.noSeats') }}
{{ orgSummary.quotesThisMonth }}
{{ t('org.quotesThisMonth') }}
{{ orgError }}
{{ t('org.addHint') }}
{{ t('org.noSeatsHint') }}
{{ t('org.member') }} {{ t('org.role') }}
{{ t('admin.colQuotes') }} {{ t('admin.colStatus') }}
{{ t('admin.colActions') }}
{{ m.name || '—' }} {{ m.email }}
{{ m.orgRole === 'owner' ? t('org.owner') : t('org.memberRole') }}
{{ m.quotesThisMonth }}
{{ m.isActive ? t('admin.active') : t('admin.inactive') }}
{{ t('org.resetPassword') }}
{{ m.isActive ? t('admin.deactivate') : t('admin.activate') }}
{{ t('history.sub') }}
{{ t('history.loading') }}
{{ t('history.empty') }}
{{ t('history.backToQuoter') }}
{{ t('history.lockedTitle').replace('{n}', savedQuotes.length) }}
{{ t('history.lockedDesc') }}
{{ t('locked.cta') }} →
{{ t('history.date') }} {{ t('history.route') }}
{{ t('history.unit') }} {{ t('history.price') }}
{{ fmtDate(q.createdAt) }}{{ q.folio }}
{{ shortLoc2(q.origin) }} → {{ shortLoc2(q.destination) }}
· {{ q.emptyReturn ? 'Two Way' : 'One Way' }}
·
{{ q.unit === 'especializado' ? (q.platformType || '') : q.unit }}
{{ fmtMXN(q.priceMXN) }} MXN
{{ t('history.edit') }}
PDF
{{ t('history.requote') }}
{{ t('legal.eyebrow') }}
{{ t('legal.terms') }}
{{ t('legal.privacy') }}
{{ t('legal.cookies') }}
{{ t('legal.refunds') }}
{{ t('admin.eyebrow') }}
{{ t('dash.hello') }} {{ greetingName }}
{{ t('role.admin') }} {{ t('dash.unlimited') }}
{{ quotaInfo.used }} {{ t('dash.thisMonth') }}
+ {{ t('dash.newQuote') }} →
{{ t('admin.tabOverview') }}
{{ t('admin.tabUsers') }}
{{ t('admin.tabOrgs') }}
{{ t('admin.tabMine') }}
{{ t('admin.tabCosts') }}
{{ t('admin.tabTraffic') }}
{{ t('admin.config') }}
…
{{ t('admin.statUsers') }}
{{ adminStats.users.total }}
{{ adminStats.users.active }} {{ t('admin.statActive') }} · {{ planName(k) }} {{ n }}
{{ t('admin.statQuotes') }}
{{ adminStats.quotes.total }}
{{ adminStats.quotes.thisMonth }} {{ t('admin.statThisMonth') }}
{{ t('admin.statAvg') }}
{{ fmtMXN(adminStats.quotes.avgPriceMXN) }}
MXN
{{ t('admin.topRoutes') }}
—
{{ r.origin }} → {{ r.destination }}
{{ r.count }} · {{ fmtMXN(r.avgPriceMXN) }}
{{ t('admin.perMonth') }}
{{ m.month }}
{{ m.quotes }} {{ t('admin.count') }} · {{ m.users }} {{ t('admin.statUsers').toLowerCase() }}
{{ t('admin.byMode') }}
{{ k }} {{ n }}
{{ t('admin.byUnit') }}
{{ k }} {{ n }}
{{ d }} días
{{ trafficError }}
…
Visitas
{{ traffic.totals.sessions.toLocaleString('es-MX') }}
en {{ traffic.days }} días
Visitantes por día
{{ traffic.totals.avgVisitorsPerDay }}
promedio
Tiempo en la página
{{ fmtDuration(traffic.totals.avgSeconds) }}
promedio por visita
Se fueron sin hacer nada
{{ traffic.totals.bounceRate }}%
menos de 10 s y sin avanzar
Visitas por día
{{ fmtDay(traffic.perDay[0].day) }} {{ fmtDay(traffic.perDay[traffic.perDay.length - 1].day) }}
Todavía no hay visitas registradas en este periodo.
Hasta dónde llegan
Cuántas visitas llegaron a cada paso. La flecha roja marca dónde se va más gente.
{{ i + 1 }}. {{ f.label }}
{{ f.sessions.toLocaleString('es-MX') }} {{ f.pctOfVisits }}%
{{ f.pctOfPrev }}% del paso anterior
Además, {{ traffic.totals.pricingViews.toLocaleString('es-MX') }} visitas llegaron a ver los precios.
De dónde llegan
—
{{ s.name }} {{ s.sessions }}
Campañas
{{ c.name }} {{ c.sessions }}
Dispositivo
—
{{ d.name.charAt(0).toUpperCase() + d.name.slice(1) }} {{ d.sessions }}
Para medir una campaña
Comparte la página con este formato y aparecerá separada arriba:freightor.org/?utm_source=facebook&utm_campaign=octubre
Sin cookies ni datos personales: no se guarda la IP y no se cuentan tus visitas de administrador.
{{ costError }}
…
Datos en vivo
Tipo de cambio Banxico FIX
${{ costParams.sources.banxico.value.toFixed(4) }} {{ costParams.sources.banxico.date }}
{{ costParams.sources.banxico.configured ? costSourceLabel(costParams.sources.banxico.source) : 'Sin token (BANXICO_TOKEN)' }}
Diésel México CRE · {{ costParams.sources.cre.stations.toLocaleString('es-MX') }} estaciones
${{ costParams.sources.cre.value.toFixed(2) }}/L {{ costParams.sources.cre.date }}
{{ costSourceLabel(costParams.sources.cre.source) }}
Diésel EE.UU. EIA · semanal
US${{ costParams.sources.eia.value.toFixed(3) }}/gal {{ costParams.sources.eia.date }}
{{ costParams.sources.eia.configured ? costSourceLabel(costParams.sources.eia.source) : 'Sin clave (EIA_API_KEY)' }}
Casetas Google Routes × multiplicador por unidad
por ruta
En vivo
Si una fuente falla, Freightor sigue cotizando con el último dato bueno o con los respaldos de abajo.
Costos fijos del cotizador. Cambia aquí un valor cuando el mercado se mueva (sueldos, permisos, rendimiento…).
Aplica a las cotizaciones nuevas : las ya hechas conservan los costos con que se crearon, y su PDF no cambia.
· {{ costParams.changedCount }} costo(s) distinto(s) al valor de fábrica.
{{ g.label }} modificado
{{ costOpen[g.key] ? '−' : '+' }}
Historial de cambios
{{ fmtDateTime(h.at) }} · {{ h.by }}
{{ c.label }}: {{ c.from.toLocaleString('es-MX') }} → {{ c.to.toLocaleString('es-MX') }}
{{ Object.keys(costEdits).length }} cambio(s) sin guardar
Descartar
{{ costSaving ? 'Guardando…' : 'Guardar cambios' }}
{{ t('org.createTitle') }}
{{ t('org.createHint') }}
{{ adminOrgError }}
{{ t('org.noOrgs') }}
{{ t('org.name') }} {{ t('org.ownerEmail') }}
{{ t('org.seats') }} {{ t('admin.colQuotes') }}
{{ t('admin.colStatus') }} {{ t('admin.colActions') }}
{{ t('history.loading') }}
{{ t('history.empty') }}
{{ t('history.backToQuoter') }}
{{ t('history.date') }} {{ t('history.route') }}
{{ t('history.unit') }} {{ t('history.price') }}
{{ fmtDate(q.createdAt) }}{{ q.folio }}
{{ shortLoc2(q.origin) }} → {{ shortLoc2(q.destination) }}
{{ q.emptyReturn ? 'Two Way' : 'One Way' }} ·
{{ q.unit === 'especializado' ? (q.platformType || '') : q.unit }}
{{ fmtMXN(q.priceMXN) }} MXN
{{ t('history.edit') }}
PDF
{{ t('history.duplicate') }}
{{ t('history.requote') }}
{{ t('admin.back') }}
{{ t('admin.quotesOf') }} {{ adminSelectedUser.companyName || adminSelectedUser.email }}
{{ t('admin.noQuotes') }}
{{ t('history.date') }} {{ t('history.route') }}
{{ t('history.unit') }} {{ t('history.price') }}
{{ fmtDate(q.createdAt) }}{{ q.folio }}
{{ shortLoc2(q.origin) }} → {{ shortLoc2(q.destination) }}
{{ q.mode }} · {{ q.emptyReturn ? 'Two Way' : 'One Way' }} ·
{{ q.unit === 'especializado' ? (q.platformType || '') : q.unit }}
{{ fmtMXN(q.priceMXN) }} MXN
PDF
{{ t('history.duplicate') }}
✕
{{ t('admin.planEyebrow') }}
{{ planAdmin.user.companyName || planAdmin.user.email }}
{{ t('admin.planNow') }} {{ planName(planAdmin.user.planCode) }}
{{ t('admin.planLabel') }}
Gratis ({{ t('admin.planRemove') }})
Operador
Flotilla
Negociador
{{ t('admin.planMonths') }}
1 {{ t('admin.month1') }}
3 {{ t('admin.monthsN') }}
6 {{ t('admin.monthsN') }}
12 {{ t('admin.monthsN') }}
{{ t('admin.planHint') }}
{{ planAdmin.saving ? '…' : t('admin.planSave') }}