Calcular estacionamento por duração, tarifa e teto diário
Estacionando 5,5 horas com 4 pela primeira hora e 2,5 por hora adicional iniciada, você paga 6 horas, num total de 16,5, abaixo de um teto diário de 18. Confira a estimativa do estacionamento antes de pagar. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Duração (horas)
- 5,5
- Tarifa da primeira hora
- 4
- Tarifa por hora adicional
- 2,5
- Máximo diário
- 18
- Taxa total
- 16,5
- Horas cobradas
- 6
- Dias completos
- 0
- Horas restantes
- 5,5
Esta calculadora transforma uma tabela de preços e uma duração de estacionamento em um total previsível. Informe o valor fixo da primeira hora, o preço de cada hora adicional iniciada, o teto diário e a duração total em horas. A ferramenta cobra cada hora iniciada, limita separadamente cada período completo ou parcial de 24 horas e apresenta as horas cobradas e o uso do teto. Ela ajuda a conferir uma estimativa ou testar sistemas de pagamento sem relógio, localização ou fonte externa de preços.
Transforme a placa de preços em quatro entradas
Comece pela duração em horas e use decimais quando houver minutos: noventa minutos correspondem a 1.5 horas, e três horas e quinze minutos a 3.25 horas. Depois copie o valor da primeira hora, a tarifa adicional e o teto diário. Use a mesma moeda em todos os campos, pois não há conversão cambial.
Duração zero custa zero; qualquer duração positiva aciona a primeira hora. O tempo excedente é cobrado por hora iniciada, portanto 1.01 horas ocupam duas horas faturáveis. Essa convenção evita supor rateio quando a placa diz apenas “por hora”.
Os quatro números precisam ser finitos e não negativos. Preços e tetos negativos também são recusados, pois não descrevem uma cobrança válida neste modelo.
Entenda a cobrança horária e o teto diário
O algoritmo separa a permanência em períodos completos de 24 horas e um possível restante. Em cada período, calcula primeiro o preço sem teto: a primeira hora iniciada recebe o valor fixo, e cada hora posterior recebe a tarifa adicional. Em seguida, escolhe o menor entre esse preço e o teto diário.
Assim, um período completo custa o menor valor entre o teto e a primeira hora acrescida de vinte e três horas adicionais. Um período parcial reinicia com a própria primeira hora. Por exemplo, 27.25 horas contêm um período completo e 3.25 horas restantes; o restante ocupa quatro horas iniciadas.
A resposta informa dias completos, horas restantes, horas cobradas e quantos períodos tiveram redução real pelo teto. Quando o cálculo horário é exatamente igual ao teto, o preço coincide, mas o contador permanece zero porque não houve redução.
Use o resultado com responsabilidade
O modelo não inclui tolerância, tíquete perdido, promoções noturnas, eventos, impostos, descontos, reserva ou recarga elétrica. Também não busca preços atuais, mede horários de entrada e saída nem reinicia à meia-noite: um “dia” sempre significa 24 horas consecutivas desde a entrada. Confirme essa regra nas condições do estacionamento antes de tratar o resultado como fatura.
Guarde a tabela original junto da resposta quando os preços puderem mudar e implemente externamente qualquer rateio ou reinício em horário local fixo.
Casos de uso
Confira uma estimativa
Compare a permanência planejada com os valores publicados antes de escolher o estacionamento.
Teste sistemas de pagamento
Crie casos determinísticos para horas iniciadas, limites de 24 horas e tetos diários.
Concilie despesas de estacionamento
Recalcule um recibo simples pela duração e tabela, mantendo a explicação das horas e dos períodos limitados.
Perguntas frequentes
Como as horas parciais são cobradas?
Cada hora iniciada é cobrada. Por exemplo, 2.1 horas contam como três horas faturáveis no período.
Como funciona o teto em estadias superiores a um dia?
A estadia é separada em períodos consecutivos de 24 horas desde a entrada, com aplicação independente do teto.
Há suporte para tolerância ou tarifas especiais?
Não. O modelo contém apenas primeira hora, tarifa por hora adicional iniciada e teto por período de 24 horas.
Qual moeda aparece no resultado?
A mesma unidade monetária que você usar de modo consistente nos três valores; não existe conversão cambial.
Como informo uma permanência que inclui minutos?
Digite o tempo em horas com decimais: 90 minutos são 1,5 hora e três horas e quinze minutos são 3,25. Cada hora iniciada conta, então até 1,01 hora é cobrada como duas horas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/travel/parking-fee-duration-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_hours":5.5,"first_hour_fee":4,"additional_hour_rate":2.5,"daily_max":18}'const res = await fetch("https://api.kit.forhosting.com/travel/parking-fee-duration-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_hours": 5.5,
"first_hour_fee": 4,
"additional_hour_rate": 2.5,
"daily_max": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/parking-fee-duration-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_hours": 5.5,
"first_hour_fee": 4,
"additional_hour_rate": 2.5,
"daily_max": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/parking-fee-duration-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_hours":5.5,"first_hour_fee":4,"additional_hour_rate":2.5,"daily_max":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_hours":5.5,"first_hour_fee":4,"additional_hour_rate":2.5,"daily_max":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/parking-fee-duration-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"duration_hours": 5.5,
"first_hour_fee": 4,
"additional_hour_rate": 2.5,
"daily_max": 18
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.parking_fee_duration_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Transforme a placa de preços em quatro entradas
Uma duração negativa gera invalid_input, sem conversão para valor absoluto.
Use o resultado com responsabilidade
O campo total_fee traz o valor na mesma moeda informada nas três tarifas. Chamadas bem-sucedidas da API usam o preço-base publicado de US$ 0,002 por item.
Perguntas técnicas
O que acontece com uma duração negativa?
A solicitação falha com invalid_input porque uma duração negativa não é válida para este cálculo.
Quanto custa um cálculo pela API?
Cada solicitação bem-sucedida da API custa US$ 0,002 por item.