The 2nd paragraph ["I want to be able to select only the parent (without the children) as well as have the children be selectable on their own or all together when clicking the parent"] makes it sound like you want to enable selection of the children checkboxes when the parent is checked, and disable selection of the children checkboxes when the parent is un-checked. That's the pattern you are looking for. Are you looking guidance on how to implement that?
I think part of the confusion is the use of "parent" and "child." This can imply a class-based hierarchy, where the children are specific types of the parent. That seems to be the type of relationship most of the comments are thinking of. (See taxonomy in wikipedia: https://en.wikipedia.org/wiki/Taxonomy)
But parent-child can also imply a containment-based hierarchy, where the children are merely contained (physically or logically) within a parent. HTML is a good example. A img (image) tag can be a child of a p (paragraph) tag...
<p>
<img src="images/animals/cat.jpg" />
</p>
...without the img tag being a type of the p tag. (See wikipedia meronomy: https://en.wikipedia.org/wiki/Meronomy)
It seems like a meronomy might be the type of parent-child relationship you're referring to.
Could you clarify?
I'm only guessing here, but I suspect a scenario that might be similar to your needs is something like this:
[] Yes! Send me your product for only $9.99!
[] Include gift wrapping for only $2.50 more
[] Send by overnight delivery for only $19.25 more
[] Include postal insurance for an additional $12.50
In this case, it would only make logical sense to select the "children" if the parent was selected, but selecting the parent without the "children" is also a logical possibility.
If that's the case, then I'm not sure what you're asking. You need to enable or disable (or possibly hide) the children based on the selection state of the parent. Are you looking for guidance on how to implement such a solution? That would depend on the medium and language you are using (Andoid, JavaScript, Visual Basic, Java, etc.)