Type: Annual, Perennial, Biennial, Other should be fine, depending on the logic it triggers elsewhere
Whilst considering this DocType, the idea of a crop DocType is really to define a specific way of managing a specified species of plant from origin to final purpose. As currently envisioned, the list of activities are planned activities and these depend on the days after "0" or planting day.
We have to consider that a farmer might have one crop "Carrot, from seed" and another "Carrot, from seedling" (Seedling is an already planted seed, in a tray, pot or moveable container). The planned activities for planting carrots from seed, although similar, may vary considerably than the activities for planting carrots from seedling. Inputs are different, and Outputs will also vary. So in reality, a farmer might have at least these combinations:
Crop
Each of these Crops has a specific origin and purpose, and thus their activities will vary in time and quality. Farmers select each crop when creating a Crop Cycle, and this will be quite useful in preparing the calendar of planned activities for a crop cycle, with the dates when each activity is expected to happen. For each planned activity, the farmer can then record the actual date of execution, or none at all, as is often the case in agriculture: A plan is never executed perfectly due to many variables. Agri-Farm ERPNext will also be helpful in evaluating in hindsight the real execution date of an activity versus the planned execution date of an activity.
Given that activities will be considered with dates and integrated into the Calendar, it is important that when a Crop Cycle is created using an activity template from a Crop, the Holidays entered in the Holiday List should influence the date for a planned activity.
Example:
A Carrot Crop is supposed to be Fertilized every 7 days during the Crop Cycle. The Crop DocType for "Carrot" has this set as an activity that happens 7 days after the start of the Crop Cycle. The farmer creates a Crop Cycle where planting begins on Monday, 2-Oct-2017. This creates a Planned Activity of "Fertilization", 7 days later, on Monday 9-Oct-2017. However, in the locality where this crop is planted, 9-Oct-2017 is a local holiday. Since our farmer also specified this in the Holiday List DocType, when the Crop Cycle is created, the activity is shifted either to the previous or next business day. If a setting of Previous Business day is selected, then the planned fertilization for that crop cycle would be set for Friday, 6-Oct-2017 (assuming Saturday is a rest day too). If next business day is selected, then the planned fertilization would be set for Tuesday, 10-Oct-2017.
[] Depending on the setting chosen in the Crop, farmer can select one of three options for each activity when creating a Crop Cycle:
Farmer should also have the option to apply this Date Flexibility policy for all Planned Activities or individually for each activity to suit his specific needs. (For example, a farmer manages a crop in such a way that he might be willing to be flexible in one activity, but not in other activities)
I believe we need to add two more fields to this DocType:
Crop Spacing: Float. in cm or inches. This field is the minimum length between each plant in the field for optimum growth.
Row Spacing: Float. in cm or inches. This field is the minimum distance between rows of plants for optimum growth.
These measurements are important for optimal Crop Yield. Eventually these measurements can be used to estimate the number of plants that can fit in a given field and show the estimation to the farmer. They can also help to create a planting diagram for each crop cycle, showing how far apart the rows will be on the crop cycle, using data from the Land Unit (Field) DocType. This diagram can be printed and given to field workers. It can also help in learning and applying, through trial and error, the best orientation for the rows (length aligned north-south, or length aligned east-west, or anywhere within 180 degrees.
All a farmer has to do is "Duplicate" a successful crop cycle, and this way he can maintain or increase his yields form other factors.
@Tropicalrambler i have been following up on this issue and now am stuck while trying to implement this on actual farm.
Based on this https://github.com/frappe/erpnext/issues/11210#issuecomment-339757191, there are instances that we do produce, in this case Spinach from seeds or Spinach from seedlings
Lastly, how does the carrot produced update the inventory in the warehouse? and were it to be taken to manufacturing what would be the procedure?
Most helpful comment
I believe we need to add two more fields to this DocType:
Crop Spacing: Float. in cm or inches. This field is the minimum length between each plant in the field for optimum growth.
Row Spacing: Float. in cm or inches. This field is the minimum distance between rows of plants for optimum growth.
These measurements are important for optimal Crop Yield. Eventually these measurements can be used to estimate the number of plants that can fit in a given field and show the estimation to the farmer. They can also help to create a planting diagram for each crop cycle, showing how far apart the rows will be on the crop cycle, using data from the Land Unit (Field) DocType. This diagram can be printed and given to field workers. It can also help in learning and applying, through trial and error, the best orientation for the rows (length aligned north-south, or length aligned east-west, or anywhere within 180 degrees.
All a farmer has to do is "Duplicate" a successful crop cycle, and this way he can maintain or increase his yields form other factors.