---
tags: user stories
title: A time bot
description: A bot, that gives different answer based on time of the day or date
---
# Intro
We propose a bot / automated system, that can provide information around:
- BSE / NSE holidays
- Settlement holidays
- Bank holidays
- Which NAV would you get if you place an order now?
- When would I get redemption credit in bank / trading account?
- When would I see the stock in my demat account, that I had purchased today?
Responses to these queries depend on current date & time, and operational knowledge.
A bot is perfectly suitable to answer these. One can even cross-check their understanding with the bot.
# Example Usage

- For effective NAV time
| Query | Invocation | Result |
| -------- | -------- | -------- |
| _Hey guys, if I place an order now, which NAV would I get?_ | `/nav time:now` | `Hey @user, if you place an order now, as it's 11:30 a.m. IST, and markets are open, you'd get NAV of today. Pick a payment mode, that ensures your money reaches the AMC before 2:30 p.m. today. Netbanking or NEFT should be fine. The NAV would be published later tonight.` |
Other possibilities:
- **Debt fund** `/nav time:now type:debt`
_Markets are open today, but it's a bank holiday, hence you'd receive tomorrow's NAV, when debt markets open._
- **Liquid / Overnight fund** `/nav time:now type: liquid`
_With Liquid fund / Overnight fund, the accounting works a bit differently. You'd get yesterday's NAV. Unless it's a Friday. In which case, you would probably get Sunday's NAV._
- **After hours** `/nav`
_Hey, markets are closed now. If you are placing an order now, it'd only be processed tomorrow / 12th April, when markets open_.
- **Amount higher than 2L** `/nav amount:>2L`
_Hey there, as you are placing an order above 2L, the cutoff time is 2 p.m. - AMC needs to get your money before 2:00 p.m. in their account. If you want today's NAV, better use a payment mode like RTGS, or Netbanking, which allows you to transfer that much with a higher third-party limit_.
- **Order placed yesterday** `/nav time:-1d`
_As you've placed this order yesterday, and yesterday was a holiday, it'd only be processed today, after markets open. If your amount reaches AMC before 2:30 p.m. IST, you'd receive today's NAV_.
The `/nav` API takes following arguments:
- **`time`**
When the order was placed / triggered. Default value is `now` or `Date.now()`, if not provided.
Allowed values: `now`, `1h`, `-1h`, `-1d`, `1d`, `-2d`, `2d` etc.
One could also provide exact time as `yesterday 3:30p.m.` or `yesterday 15:30`.
- **`amount`**
Amount used for the order.
Values allowed: `10k`, `1L`, `1.5L`, `2000`, `₹2,000`.
Default value: `₹100,000`
- **`type`**
Default is `equity` or `E`.
Other allowed values: `debt`, `D`, `liquid`, `overnight`, `ust`, `st`, `gilt` (case insensitive).
---
# Wrapping Up
Since this slash command can take more than one argument, we need _sane defaults_.
By default, we assume, it's an equity fund order, being placed now, and amount is below 2L.
Similarly, we assume sane defaults for other arguments.
For every reply where a default was assumed, bot should share the option on _how to invoke if you meant something else_, and a link to its documentation.