00:00:05.906 --> 00:00:06.366 You're good.
00:00:08.866 --> 00:00:12.006 Alright, so today we are talking about CART validation.
00:00:12.996 --> 00:00:18.431 And if you look in the solution explorer under the providers,
00:00:18.431 --> 00:00:19.396 there is a.
00:00:20.026 --> 00:00:22.526 Provider for cart validations specifically.
00:00:23.446 --> 00:00:27.817 And it contains a whole bunch of different divisions for car
00:00:27.817 --> 00:00:32.189 validation based on accounts on brands, on categories, and a
00:00:32.189 --> 00:00:33.766 whole bunch of others.
00:00:34.876 --> 00:00:38.899 Uh, so mainly we are going to be looking at the card validator
00:00:38.899 --> 00:00:39.666 dot CS file.
00:00:40.566 --> 00:00:41.376 Which is right here?
00:00:43.196 --> 00:00:48.396 And this consists of handful of methods. This is by far the main
00:00:48.396 --> 00:00:51.596 one validate ready for check out async.
00:00:52.446 --> 00:00:56.426 And CART validation this method is gonna handle all of.
00:00:57.326 --> 00:01:00.947 The rules and restrictions for what products are allowed to be
00:01:00.947 --> 00:01:04.511 added to the cart, how many of the products are allowed to be
00:01:04.511 --> 00:01:05.546 added to the cart.
00:01:06.136 --> 00:01:09.534 Umm. And just all kinds of different rules and stuff around
00:01:09.534 --> 00:01:12.026 all of these different divisions over here.
00:01:13.306 --> 00:01:17.090 So I'm kind of just gonna walk through this main this method
00:01:17.090 --> 00:01:21.061 right here and then drill down in a couple areas that I thought
00:01:21.061 --> 00:01:24.784 were gonna be the most common that people would either have
00:01:24.784 --> 00:01:27.576 modifications in or run into issues with so.
00:01:29.676 --> 00:01:33.720 The very first check that it does in car validation is just
00:01:33.720 --> 00:01:37.831 validating whether or not the account exists and the account
00:01:37.831 --> 00:01:42.077 is on hold. So if the account is on hold or there's no account
00:01:42.077 --> 00:01:46.324 there available to check, it is going to fail card validation,
00:01:46.324 --> 00:01:50.435 and then the second check is just for if the card has active
00:01:50.435 --> 00:01:51.716 active items in it.
00:01:52.936 --> 00:01:57.089 And either of these two checks if the call fails, is gonna kill
00:01:57.089 --> 00:02:01.048 the response immediately, and this response is just going to
00:02:01.048 --> 00:02:04.812 return a failing SFR immediately and skip the rest of the
00:02:04.812 --> 00:02:05.526 validation.
00:02:10.206 --> 00:02:14.709 So after that we will get into the products category, which is
00:02:14.709 --> 00:02:18.783 just down here. This is going to loop through all of the
00:02:18.783 --> 00:02:23.143 different sales items in the CART and it is going to process
00:02:23.143 --> 00:02:25.216 products with minimums async.
00:02:26.936 --> 00:02:31.285 And for all of the different divisions that get that car
00:02:31.285 --> 00:02:36.169 validation has products is going to be by far where most of the
00:02:36.169 --> 00:02:36.856 logic is.
00:02:38.276 --> 00:02:42.366 Most I'd say most customizations are probably going to be.
00:02:43.086 --> 00:02:44.416 Centered around.
00:02:45.186 --> 00:02:48.666 Limiting how many products are added to the CART or.
00:02:50.186 --> 00:02:54.491 Minimum maximum restrictions or role restrictions based off of
00:02:54.491 --> 00:02:58.797 the specific product instead of off of the brand or the vendor
00:02:58.797 --> 00:02:59.686 or the store.
00:03:00.886 --> 00:03:04.504 But I will go into this because this is going to be very in
00:03:04.504 --> 00:03:04.866 depth.
00:03:06.026 --> 00:03:10.259 Or very complicated. This uh, process products with minimums
00:03:10.259 --> 00:03:11.786 is pretty long method.
00:03:14.386 --> 00:03:15.156 So.
00:03:20.436 --> 00:03:22.086 That a little bit so.
00:03:23.706 --> 00:03:26.968 At the very beginning it just sets the quantities for the
00:03:26.968 --> 00:03:30.286 current order. The back order and the pre sold quantities.
00:03:31.736 --> 00:03:35.820 And more or less, let's actually yeah, before that it is going to
00:03:35.820 --> 00:03:39.843 check for discontinued products, make sure the product is active
00:03:39.843 --> 00:03:43.432 and it is not marked as a discontinued product or else it
00:03:43.432 --> 00:03:47.021 will not be able to be purchased and that would fail card
00:03:47.021 --> 00:03:50.797 validation and it will check the cache and then the database
00:03:50.797 --> 00:03:54.881 record to actually see if it has that discontinued flag on it and
00:03:54.881 --> 00:03:56.676 it will add a warning if not.
00:04:00.556 --> 00:04:01.746 So if.
00:04:03.376 --> 00:04:04.246 To remove.
00:04:05.746 --> 00:04:09.866 This is going to actually update cart items.
00:04:11.226 --> 00:04:14.656 In the CART, based on I should say.
00:04:15.486 --> 00:04:18.939 The quantities and the cart are going to be updated by the
00:04:18.939 --> 00:04:22.744 system. If it doesn't meet some rules and restrictions. So there
00:04:22.744 --> 00:04:24.266 are some situations where.
00:04:25.266 --> 00:04:28.650 It will just display an error message and say this is not
00:04:28.650 --> 00:04:32.035 allowed for you to purchase based on whatever restriction
00:04:32.035 --> 00:04:33.436 and then there are some.
00:04:34.276 --> 00:04:38.126 Instances where it will automatically update the value
00:04:38.126 --> 00:04:41.206 or the quantities in the cart to match the.
00:04:42.146 --> 00:04:43.166 Product restrictions.
00:04:43.926 --> 00:04:46.592 I say if there's a minimum amount set, it will
00:04:46.592 --> 00:04:49.939 automatically bring that amount up to the minimum required
00:04:49.939 --> 00:04:50.336 amount.
00:04:50.996 --> 00:04:54.255 And then just display a warning to the user instead of not
00:04:54.255 --> 00:04:56.686 allowing them to add that item to the cart.
00:04:58.506 --> 00:05:02.156 Uh, so if I come down.
00:05:03.196 --> 00:05:05.246 Skipping auctions for now.
00:05:07.916 --> 00:05:12.666 Yeah, let's come in to check if property come into this one.
00:05:16.486 --> 00:05:17.546 And drill down again.
00:05:22.146 --> 00:05:25.756 So this is check if product quantity meets minimum and
00:05:25.756 --> 00:05:29.366 maximum purchase quantities for account ID or user ID.
00:05:30.996 --> 00:05:34.826 And this is doing some lookups on the product.
00:05:36.716 --> 00:05:37.366 See.
00:05:39.166 --> 00:05:42.486 Where is the method that I was looking for.
00:05:57.706 --> 00:05:59.416 So I'm losing myself real quick.
00:06:04.826 --> 00:06:06.096 What specifically are you looking for?
00:06:07.746 --> 00:06:10.036 All of the different products.
00:06:12.796 --> 00:06:16.923 Logic to determine minimum maximums for card is that just
00:06:16.923 --> 00:06:18.346 lower in here? Nope.
00:06:18.526 --> 00:06:20.837 It's down and it's in those workflow methods you were
00:06:20.837 --> 00:06:23.276 looking at there check if product quantity meets minimum
00:06:23.276 --> 00:06:25.716 and maximum purchase quantity for account ID or user ID.
00:06:27.116 --> 00:06:29.938 Most of it's gonna be implemented inside of, stuff
00:06:29.938 --> 00:06:33.149 like that right there, and you'll control F-12 to see the
00:06:33.149 --> 00:06:34.256 implementation. Yep.
00:06:36.026 --> 00:06:36.436 And.
00:06:37.186 --> 00:06:39.887 Don't have to worry too much about everything that's going on
00:06:39.887 --> 00:06:40.236 in here.
00:06:41.936 --> 00:06:45.692 But so but in in case you know, in case anyone was curious that
00:06:44.806 --> 00:06:45.236 Ah.
00:06:45.692 --> 00:06:49.272 this is the cart validator is the part that actually handles
00:06:49.272 --> 00:06:49.566 this.
00:06:50.786 --> 00:06:54.611 So it's the one that handles enforcing that if a product has
00:06:54.611 --> 00:06:58.624 minimum and maximum quantities by the various different ways it
00:06:58.624 --> 00:07:02.575 can have them that the line item in your cart matches with the
00:07:02.575 --> 00:07:06.651 relevant minimum and maximum as well as by and you will probably
00:07:06.651 --> 00:07:10.225 cover this here in a minute, but it also covers by stock
00:07:10.225 --> 00:07:14.050 quantity. So if you have 27 of an item in your cart and then
00:07:14.050 --> 00:07:17.687 there's fifty in stock, that's fine. But then if somebody
00:07:17.687 --> 00:07:18.816 orders 40 of them.
00:07:19.746 --> 00:07:23.046 You now have 27 items in your cart for an item that has 10 in
00:07:23.046 --> 00:07:26.346 stock. The CART validator is a thing that determines that you
00:07:26.346 --> 00:07:29.752 have more in your cart than is in stock and then cuts your line
00:07:29.752 --> 00:07:32.733 item quantity down and then depending on if back orders
00:07:32.733 --> 00:07:35.980 enabled, it will add the other 17 in that sample scenario to
00:07:35.980 --> 00:07:39.280 like the quantity back ordered or whatever and then give like
00:07:39.280 --> 00:07:41.356 the message to the front end displays.
00:07:43.166 --> 00:07:46.584 Yup, and all that takes place inside this. I just need to
00:07:46.584 --> 00:07:48.116 drill down one more layer.
00:07:48.846 --> 00:07:49.046 Yeah.
00:07:50.146 --> 00:07:51.846 And yeah, this is the.
00:07:52.736 --> 00:07:58.181 Current order quantity. The back order quantity. The pre pre sold
00:07:58.181 --> 00:07:59.666 quantity and then.
00:08:00.446 --> 00:08:03.894 The current values for each of those, each of those same
00:08:03.894 --> 00:08:07.765 variables, and they get set in the very beginning. This is kind
00:08:07.765 --> 00:08:09.096 of just setting those.
00:08:09.886 --> 00:08:13.708 Quantity values and then this is checking for all of the rules
00:08:13.708 --> 00:08:17.046 that are currently in place based on the app settings.
00:08:17.686 --> 00:08:19.086 Which enabling.
00:08:19.966 --> 00:08:23.557 Product restrictions is done just by turning on app settings.
00:08:23.557 --> 00:08:27.380 For the most part. Unless you're implementing new card validation
00:08:27.380 --> 00:08:30.334 that hasn't already been implemented, then the app
00:08:30.334 --> 00:08:31.956 setting needs to be created.
00:08:33.276 --> 00:08:36.326 But you can see purchasing Min, Max enabled.
00:08:37.736 --> 00:08:41.406 Purchasing Minmax after enabled inventory back order enabled.
00:08:42.696 --> 00:08:43.096 Umm.
00:08:44.046 --> 00:08:45.026 Let's see.
00:08:46.626 --> 00:08:47.926 After all that.
00:08:50.856 --> 00:08:54.913 And then yeah, if product allows presale, here are some checks
00:08:54.913 --> 00:08:58.842 for the presale rules. If the some quantity, blah blah blah.
00:08:58.842 --> 00:09:02.835 And you could see it'll update the values in the current cart
00:09:02.835 --> 00:09:06.570 to match whatever rules this one has. The warning message
00:09:06.570 --> 00:09:10.306 commented out, but I will find one that has. There we go.
00:09:13.036 --> 00:09:14.836 Presales quantity of.
00:09:15.586 --> 00:09:18.975 Blank for item whatever item reduced to the ceiling
00:09:18.975 --> 00:09:22.430 constraint value to meet the limits set by the store
00:09:22.430 --> 00:09:26.341 administrator. So and then it manually updates the pre sold
00:09:26.341 --> 00:09:30.122 quantity so it is going to update the values currently in
00:09:30.122 --> 00:09:34.293 the cart and then just display a warning instead of telling the
00:09:34.293 --> 00:09:37.813 user. No, you can't add that item to the cart in that
00:09:37.813 --> 00:09:40.486 quantity, it has to be of this quantity.
00:09:41.136 --> 00:09:44.597 Umm, so that was one thing that kind of caught me off guard
00:09:44.597 --> 00:09:44.886 when.
00:09:45.786 --> 00:09:48.529 I first had a change that I needed to make in the car
00:09:48.529 --> 00:09:51.680 validation was I didn't know that those quantities were gonna
00:09:51.680 --> 00:09:53.306 be automatically updated for me.
00:09:54.226 --> 00:09:54.716 So that.
00:09:55.846 --> 00:09:58.886 Was a little took a little bit of time to actually figure out.
00:10:00.156 --> 00:10:02.860 Let me check my notes to see if there was anything else in here.
00:10:02.860 --> 00:10:03.526 I wanted to say.
00:10:11.106 --> 00:10:15.337 Yep. And those restrictions can be placed on the current order
00:10:15.337 --> 00:10:17.756 quantity. So if they want to order.
00:10:19.386 --> 00:10:22.700 X number of products and the administrators are going to
00:10:22.700 --> 00:10:26.190 require you need to order at least this number or you can't
00:10:26.190 --> 00:10:29.563 order more than this number and they can apply those same
00:10:29.563 --> 00:10:32.935 restrictions to the back order quantities and the presale
00:10:32.935 --> 00:10:36.076 quantities instead of just the current item quantity.
00:10:36.836 --> 00:10:38.806 Or the stock quantity I should say.
00:10:40.596 --> 00:10:42.706 And I talked about app settings already.
00:10:44.766 --> 00:10:46.376 All right, I think that is.
00:10:47.086 --> 00:10:49.676 Pretty much everything I had to say for products.
00:10:50.596 --> 00:10:54.129 Because all of this is just kind of going over each of those
00:10:54.129 --> 00:10:57.605 ceiling constraints, sealing constraint being the Max value
00:10:57.605 --> 00:11:00.386 of floor constraint would be the minimum value.
00:11:03.356 --> 00:11:05.921 Is there anything else Brendan or James that you guys wanted to
00:11:05.921 --> 00:11:08.126 say for a products or does anybody have any questions?
00:11:14.946 --> 00:11:16.506 I think you pretty well covered it.
00:11:15.186 --> 00:11:15.396 Ah.
00:11:17.646 --> 00:11:20.616 Yeah, I think as long as, as long as every.
00:11:18.976 --> 00:11:22.102 I mean it, it is huge and there's a lot of there. It's
00:11:22.102 --> 00:11:25.114 huge and there's a lot of complexity to it, but it's
00:11:25.114 --> 00:11:28.638 because we have to support all these different options, being
00:11:28.638 --> 00:11:31.821 able to be working at the same time or individually for
00:11:31.821 --> 00:11:35.459 different clients over time. So it gets really nasty to look at
00:11:35.459 --> 00:11:38.756 that if you can, if you can read through the whole thing.
00:11:40.286 --> 00:11:43.091 That's why there's a bunch of extra comments and stuff there.
00:11:43.091 --> 00:11:45.943 You should be able to follow the point where like if there's a
00:11:45.943 --> 00:11:48.522 logic break, you know, ask a question and we can, we can
00:11:48.522 --> 00:11:49.156 figure it out.
00:11:51.396 --> 00:11:55.969 Yeah, I had a question when I was going through this myself
00:11:55.969 --> 00:12:00.695 and I think I saw it earlier. What is the difference between?
00:12:00.695 --> 00:12:04.735 So there is a purchasing min, Max enabled and then a
00:12:04.735 --> 00:12:09.156 purchasing min Max after enabled. And there is this after
00:12:09.156 --> 00:12:10.376 keyword pops up.
00:12:10.036 --> 00:12:13.971 You have a perfect example for that, which is the reason I got
00:12:13.971 --> 00:12:14.346 added.
00:12:15.486 --> 00:12:16.776 In Microsoft.
00:12:17.546 --> 00:12:21.118 When you go when you buy server calls, which is like licenses
00:12:21.118 --> 00:12:24.805 for like to like have a certain number of Windows Server boxes.
00:12:24.805 --> 00:12:28.147 The minimum you have to buy initially is 5 but after that
00:12:28.147 --> 00:12:29.876 you can buy them individually.
00:12:31.226 --> 00:12:35.069 So the min, Max enabled there is that to enforce that the first
00:12:32.046 --> 00:12:32.646 Ah.
00:12:35.069 --> 00:12:38.791 time they buy it, they have to get at least five and then the
00:12:38.791 --> 00:12:42.154 after makes it so that it reduces the maximum from 5 to
00:12:42.154 --> 00:12:45.757 one so they're available to buy them individually and other
00:12:45.757 --> 00:12:48.879 clients have used it in a different way. That said,
00:12:48.879 --> 00:12:52.422 basically that if you do the min, Max enabled and set them
00:12:52.422 --> 00:12:56.144 all the fine, then every time you have to buy it, you have to
00:12:56.144 --> 00:12:57.826 buy it in multiples of five.
00:12:58.576 --> 00:13:02.104 And for that, now we also have a secondary process that was more
00:13:02.104 --> 00:13:05.686 simplified for that specifically where like you must always buy a
00:13:05.686 --> 00:13:06.446 multiple of 5.
00:13:07.686 --> 00:13:11.039 Which was the multiples of validation that happens
00:13:11.039 --> 00:13:14.917 elsewhere, but this allows you to do a more dynamic amount
00:13:14.917 --> 00:13:18.928 where like it could be that you have to buy 5 initially, but
00:13:18.928 --> 00:13:23.004 then you have to buy in batches of two and then only multiple
00:13:23.004 --> 00:13:27.014 batches of two, whereas the multiples of line will allow you
00:13:27.014 --> 00:13:31.222 to do like you buy 4 initially. Because of this one setting and
00:13:31.222 --> 00:13:35.232 then you have to buy multiples of two. So you could buy 2468
00:13:35.232 --> 00:13:36.416 all the way up to.
00:13:36.526 --> 00:13:38.236 However, many even numbers you can think of.
00:13:39.456 --> 00:13:43.215 To stock counts or or whatever of them, so it allows for that
00:13:43.215 --> 00:13:46.670 complexity where there's an initial bump, and then after
00:13:46.670 --> 00:13:49.641 you've met the initial requirement in your sales
00:13:49.641 --> 00:13:53.157 history, does that amount change? And if it changes, then
00:13:53.157 --> 00:13:54.916 what does it change to on it?
00:13:55.576 --> 00:13:59.034 And that you'll see that with the the back order settings and
00:13:59.034 --> 00:14:02.325 the presale settings as well, where as once you've met the
00:14:02.325 --> 00:14:05.728 initial one is does the does the value change for subsequent
00:14:05.728 --> 00:14:06.286 purchases?
00:14:07.616 --> 00:14:08.256 Later on.
00:14:10.496 --> 00:14:12.896 OK, cool. That makes a lot of sense.
00:14:16.116 --> 00:14:20.114 And then the one last thing that I thought I should mention here,
00:14:20.114 --> 00:14:23.446 I have to go all the way to the bottom of this method.
00:14:26.236 --> 00:14:31.038 OK, so at the very end it checks for whether or not the original
00:14:31.038 --> 00:14:35.323 sum quantity back order or the is different from the some
00:14:35.323 --> 00:14:39.755 quantity back order. So if this value gets modified at some
00:14:39.755 --> 00:14:43.449 point during all that calculation doing above and
00:14:43.449 --> 00:14:48.030 these values no longer equal each other, then it will display
00:14:48.030 --> 00:14:52.906 one of these warning messages in the view CART page and actually.
00:14:54.446 --> 00:14:58.269 Happens when you add it to the cart and when you're actually
00:14:58.269 --> 00:15:01.216 viewing the view CART page and this just says.
00:15:02.096 --> 00:15:04.236 Yeah, we've updated whatever products.
00:15:06.266 --> 00:15:10.421 To back order quantity or we've updated the total quantities of
00:15:10.421 --> 00:15:14.446 the products in your cart based on whatever logic calculation
00:15:14.446 --> 00:15:18.407 could be a number of different things and then returns that.
00:15:18.407 --> 00:15:22.497 But this is important because if these values get changed then
00:15:22.497 --> 00:15:26.457 the cart needs to be reloaded and refreshed when we get back
00:15:26.457 --> 00:15:27.886 to the card validator.
00:15:28.786 --> 00:15:29.936 Which I can go back to.
00:15:31.596 --> 00:15:35.617 And it should do that for every single sales item in the cart.
00:15:35.617 --> 00:15:39.446 It'll loop through that and process each individual product
00:15:39.446 --> 00:15:40.276 individually.
00:15:41.686 --> 00:15:46.256 And then if card is changed it will update and reload the cart
00:15:46.256 --> 00:15:50.899 and it does that same thing with every one of these. Continuing
00:15:50.899 --> 00:15:55.252 on just to make sure the car stays up to date with the most
00:15:54.846 --> 00:15:59.210 This is the the closest thing we have to in in current SEF to a
00:15:55.252 --> 00:15:56.486 current products.
00:15:59.210 --> 00:16:03.438 pipeline. It's going to run the cart, modify it and then with
00:16:03.438 --> 00:16:07.665 each check it will reload if there's any changes to make sure
00:16:07.665 --> 00:16:11.825 that the CART data is at its latest version of itself before
00:16:11.825 --> 00:16:15.235 handing it to the next validation checker thingy.
00:16:15.235 --> 00:16:19.190 Whatever the thing he is. So if you want to think about a
00:16:19.190 --> 00:16:23.349 pipeline process, this is the closest thing that we have for
00:16:23.349 --> 00:16:24.236 one of those.
00:16:24.836 --> 00:16:25.346 In here.
00:16:27.266 --> 00:16:27.676 Umm.
00:16:29.586 --> 00:16:34.103 And then all of the Yep, all the calls after that are going to be
00:16:34.103 --> 00:16:38.347 pretty much exactly the same. There is SKU restrictions. So I
00:16:38.347 --> 00:16:40.196 can go one layer into here.
00:16:41.986 --> 00:16:46.257 And yet that's the entire method, and this is from what I
00:16:46.257 --> 00:16:50.601 can tell just based on the address. So any restrictions on
00:16:50.601 --> 00:16:55.019 shipping to specific locations or specific states or cities
00:16:55.019 --> 00:16:55.756 would get.
00:16:55.216 --> 00:16:58.827 An example of this is that in certain states are not allowed
00:16:58.827 --> 00:16:59.656 to ship paint.
00:17:00.846 --> 00:17:02.826 Because it's considered a hazardous substance.
00:17:04.066 --> 00:17:07.193 So you the only thing you're allowed to do it in those cases
00:17:07.193 --> 00:17:09.706 is to physically go to the store and pick it up.
00:17:11.206 --> 00:17:14.572 For for stuff so like the store is allowed to transfer it from
00:17:14.572 --> 00:17:17.885 their distress center to the to the store itself, but they're
00:17:17.885 --> 00:17:20.985 not allowed to ship that directly to your home, so that's
00:17:20.985 --> 00:17:23.977 where some of those restrictions occur is you'll put it
00:17:23.977 --> 00:17:27.130 attributes on the product that says it's not allowed to be
00:17:27.130 --> 00:17:30.176 shipped to XY and Z states on it, and that's where those
00:17:30.176 --> 00:17:31.566 attributes come into play.
00:17:32.886 --> 00:17:35.782 OK, cool. I was wondering what like a practical application of
00:17:35.782 --> 00:17:36.426 this would be.
00:17:37.996 --> 00:17:40.667 Yeah, it's just a comply with like state laws and stuff like
00:17:38.346 --> 00:17:38.966 So it's cool.
00:17:39.816 --> 00:17:40.316 Also.
00:17:40.667 --> 00:17:40.886 that.
00:17:41.316 --> 00:17:45.358 Also, as a as a side question, that's not terribly related.
00:17:45.358 --> 00:17:47.986 Does anybody know what SKU stands for?
00:17:50.336 --> 00:17:53.506 I don't remember off top my head, but it's an easy Google.
00:17:54.046 --> 00:17:54.866 You say skill.
00:17:54.156 --> 00:17:57.741 Yeah, it's just. I've just never bothered to Google it and from
00:17:54.396 --> 00:17:55.516 Yeah, I do not know.
00:17:57.536 --> 00:17:58.606 Stock keeping unit.
00:17:57.741 --> 00:18:01.214 in my brain, it's always just been its own work. Like skew is
00:18:01.214 --> 00:18:04.575 just a word in and of itself. But I know that it it's gotta
00:18:04.575 --> 00:18:05.416 mean something.
00:18:05.736 --> 00:18:06.876 Stock keeping unit.
00:18:07.626 --> 00:18:08.046 Huh.
00:18:08.756 --> 00:18:10.276 Yeah. Stock keeping unit. There it is.
00:18:12.356 --> 00:18:12.836 Cool.
00:18:14.066 --> 00:18:16.706 Who can tell me what?
00:18:17.406 --> 00:18:25.674 Uh. The different abbreviations are for things like UPC. EIN
00:18:25.674 --> 00:18:27.436 ISBN IST EIN.
00:18:29.196 --> 00:18:31.026 And other values like that are.
00:18:33.636 --> 00:18:36.596 Uh, me. UPC is universal product code I think.
00:18:37.646 --> 00:18:38.556 Yeah, every other one.
00:18:40.146 --> 00:18:40.486 Should.
00:18:43.076 --> 00:18:45.206 Does anyone know the breviate in for?
00:18:43.306 --> 00:18:47.023 But it's it's it's sort of at your question. They all mean the
00:18:47.023 --> 00:18:50.267 same thing, but they're different. They're it. They're
00:18:47.266 --> 00:18:48.026 Ohh.
00:18:47.416 --> 00:18:47.766 Yeah.
00:18:50.267 --> 00:18:53.453 all basically versions of UPC codes and international
00:18:53.453 --> 00:18:57.288 standards. So to get a UPC code for a product, you actually have
00:18:57.288 --> 00:18:59.943 to apply for it with an organization with an
00:18:59.943 --> 00:19:03.660 organization that controls that information so that they truly
00:19:03.660 --> 00:19:07.377 stay universal. But there are different organizations who have
00:19:07.377 --> 00:19:11.212 different numbers. Like there's one that only operates in Europe
00:19:11.212 --> 00:19:14.516 and they are the, I think they do the EIN number there.
00:19:15.226 --> 00:19:18.972 But there's there's like the IT IN number and ISTIN, which are
00:19:18.972 --> 00:19:22.361 basically almost the same thing that just managed by two
00:19:22.361 --> 00:19:25.929 different companies that will like let you pay to have your
00:19:25.929 --> 00:19:29.259 number recorded for the particular product. And some of
00:19:29.259 --> 00:19:32.826 those numbers are things that you would only utilize if you
00:19:32.826 --> 00:19:36.216 had business within those regions globally, which is why
00:19:36.216 --> 00:19:39.783 you wouldn't see a UPC code on something that was like only
00:19:39.783 --> 00:19:43.470 sold in Japan. They just don't bother to do that because they
00:19:43.470 --> 00:19:46.978 have their own standard that they operate on that works in
00:19:46.978 --> 00:19:47.276 APAC.
00:19:49.616 --> 00:19:53.545 ISBN is very similar in that it's only for book numbers so
00:19:53.545 --> 00:19:57.808 that you have it. International standard Book number to operate
00:19:57.808 --> 00:20:01.937 with and again you pay for the publishers will pay the fee so
00:20:01.937 --> 00:20:06.000 that they will get an ISP, a number generated and then every
00:20:06.000 --> 00:20:09.997 catalog out there that like Amazon or Barnes and Noble gets
00:20:09.997 --> 00:20:14.059 an alert that there's this new ISBN number available for the
00:20:14.059 --> 00:20:18.056 book and it gives it the basic details about that book and.
00:20:18.176 --> 00:20:21.569 And why it's there and then they can use that with their cash
00:20:21.569 --> 00:20:24.908 register systems because they know that it's always a unique
00:20:24.908 --> 00:20:27.918 number that specifically identifies that book and that
00:20:27.918 --> 00:20:31.256 book as well, like in variations of hardback, first edition,
00:20:31.256 --> 00:20:34.759 second edition, paperback, all that stuff is that's all handled
00:20:34.759 --> 00:20:36.456 with variations on that number.
00:20:43.226 --> 00:20:43.926 All right, cool.
00:20:46.256 --> 00:20:47.256 The more you know.
00:20:46.376 --> 00:20:50.886 So after SKU restriction let me go back.
00:20:53.096 --> 00:20:56.243 Alright, Next up would be product role restrictions, and
00:20:56.243 --> 00:20:59.721 I'm gonna probably combine these two for role restrictions and
00:20:59.721 --> 00:21:00.936 roll restrictions alt.
00:21:02.896 --> 00:21:06.962 And this is very similar to the last one, where if it does a
00:21:06.962 --> 00:21:10.762 lookup on the current user and finds any roles that they
00:21:10.762 --> 00:21:14.896 currently have activated and then checks the roles associated
00:21:14.896 --> 00:21:19.096 with the specific sales item or product that they're trying to
00:21:19.096 --> 00:21:23.362 buy, and if they do not have the required role to purchase that
00:21:23.362 --> 00:21:23.696 item.
00:21:25.416 --> 00:21:29.180 The item just gets removed from the car like you see down here.
00:21:29.180 --> 00:21:32.591 It will set the CART item quantity to 0. The quantity you
00:21:32.591 --> 00:21:36.179 have on back order to zero and the pre sold quantity to zero
00:21:36.179 --> 00:21:39.885 and I should have mentioned it before but the last one for SKU
00:21:39.885 --> 00:21:43.532 restrictions also does the same thing. I think all of them do
00:21:43.532 --> 00:21:43.826 this.
00:21:45.666 --> 00:21:49.680 The logic that I was showing earlier, the calculations and
00:21:49.680 --> 00:21:53.967 everything will actually update the values of the cart to meet
00:21:53.967 --> 00:21:55.396 minimum requirements.
00:21:56.186 --> 00:21:59.960 In some situations or maximum requirements, if you're trying
00:21:59.960 --> 00:22:03.426 to order 50 and you're only allowed to order 20 of that
00:22:03.426 --> 00:22:07.015 product at one time, it'll automatically bring it down to
00:22:07.015 --> 00:22:11.037 the maximum allowed quantity and put the rest on back order. Or,
00:22:11.037 --> 00:22:12.646 if you're trying to order.
00:22:13.496 --> 00:22:17.224 10 of a product and you have to order 50. At a minimum. It'll
00:22:17.224 --> 00:22:20.712 automatically bring it up to ordering 50. In this case it
00:22:20.712 --> 00:22:24.139 just zeroes out the cart and removes everything from the
00:22:24.139 --> 00:22:26.966 current cart. The back order and the pre sold.
00:22:27.746 --> 00:22:31.547 I believe it does that for the rest of the validation that
00:22:31.547 --> 00:22:32.836 we're gonna look at.
00:22:35.686 --> 00:22:39.476 Uh, the only the other question I had for this one is what the
00:22:39.476 --> 00:22:42.906 difference between role restriction and role restriction
00:22:42.906 --> 00:22:46.216 Alt was because I know there are two different tables.
00:22:46.676 --> 00:22:49.526 I think one is that it requires.
00:22:46.926 --> 00:22:47.506 Where am I?
00:22:50.306 --> 00:22:54.158 Uh, the role to purchase it, and one is that it requires the role
00:22:54.158 --> 00:22:57.894 to see it at all. I think Alt is to see it or the normal one is
00:22:57.894 --> 00:23:01.630 to to purchase and then the alt is that you can see it, but you
00:23:01.630 --> 00:23:03.206 can't purchase it, I think.
00:23:05.356 --> 00:23:05.936 Uh.
00:23:05.426 --> 00:23:06.536 I might have that backwards.
00:23:06.906 --> 00:23:10.595 Basically yes, the the the main one for the role is. You'll
00:23:10.595 --> 00:23:14.468 never even see that product to even try to purchase it. And if
00:23:14.468 --> 00:23:17.973 it is found in your cart somehow, because you hacked the
00:23:17.973 --> 00:23:21.600 Gibson and you've gotta into your cart, then the cart will
00:23:21.600 --> 00:23:25.597 see that you don't have the role in take it out. Zero it out the
00:23:25.597 --> 00:23:29.470 requires roll. Alt was to say that you can't purchase it still
00:23:29.470 --> 00:23:30.946 just like the other one.
00:23:32.266 --> 00:23:35.580 Unless you have the role, but you can see it in the catalog,
00:23:35.580 --> 00:23:38.623 the driving force behind that might be that in order to
00:23:38.623 --> 00:23:41.665 purchase this particular product, you have to have some
00:23:41.665 --> 00:23:44.871 kind of certification posted for your organization or your
00:23:44.871 --> 00:23:45.306 account.
00:23:46.326 --> 00:23:49.670 Within the system and you have to provide that proof of that
00:23:49.670 --> 00:23:51.206 certification to the seller.
00:23:52.266 --> 00:23:56.502 The the selling company there is a store within a store or the
00:23:56.502 --> 00:24:00.739 main store itself on there, so there might be information that
00:24:00.739 --> 00:24:04.101 says like you have to be a contractor to buy this
00:24:04.101 --> 00:24:08.136 particular tool because it's only available to contractors.
00:24:09.256 --> 00:24:12.362 So if you're not a contractor, you might be able to see the
00:24:12.362 --> 00:24:15.573 product, but you wouldn't be able to add it to your cart. And
00:24:15.573 --> 00:24:18.472 even if you could hack the Gibson in and put it in your
00:24:18.472 --> 00:24:21.527 cart, the cart would then validate and Kick It Out because
00:24:21.527 --> 00:24:24.893 you don't have the role and it's an enticement to the company to
00:24:24.893 --> 00:24:27.948 go. Say please fill in the appropriate information with us
00:24:27.948 --> 00:24:31.314 so that we can get you access to these items in our catalog, and
00:24:31.314 --> 00:24:34.628 then you can buy more stuff from us and we can sell more things
00:24:34.628 --> 00:24:36.026 to you and make more money.
00:24:36.686 --> 00:24:37.766 OK. That makes sense.
00:24:39.236 --> 00:24:40.266 We all like money.
00:24:43.466 --> 00:24:48.103 All right, up next is process global with minimum dollar free
00:24:48.103 --> 00:24:50.646 shipping. Let's look at that one.
00:24:55.876 --> 00:24:58.006 All right. And this is going to check if.
00:24:59.556 --> 00:25:02.486 The current cart is eligible for free shipping.
00:25:03.676 --> 00:25:05.646 So only look around here.
00:25:07.326 --> 00:25:09.976 You have to leave through car sales needs to be met.
00:25:13.216 --> 00:25:16.686 I'm just refreshing myself real quick on what all is in here.
00:25:22.416 --> 00:25:27.846 Right, so this is setting needs to be met false dollar income.
00:25:32.246 --> 00:25:37.188 Alright, so this is based on the total amount of for the total
00:25:37.188 --> 00:25:42.052 sum of the prices of items in the cart and not the individual
00:25:42.052 --> 00:25:46.602 products anymore. So if the cart is at a meets a specific
00:25:46.602 --> 00:25:50.996 threshold then that card is eligible for free shipping.
00:25:53.326 --> 00:25:54.066 And.
00:25:53.366 --> 00:25:56.915 One of the most common things in ecommerce free shipping for
00:25:56.915 --> 00:25:57.846 orders over $50.
00:25:59.226 --> 00:25:59.766 Yep.
00:26:02.326 --> 00:26:07.216 There I only have one note for this that I thought was.
00:26:08.486 --> 00:26:12.578 Specific enough to talk about, and it was if the free shipping
00:26:12.578 --> 00:26:16.736 threshold value has no warning message. So where is the warning
00:26:16.736 --> 00:26:17.256 message?
00:26:18.646 --> 00:26:20.166 That's very CEO URL.
00:26:27.186 --> 00:26:27.936 Ah, right here.
00:26:29.376 --> 00:26:30.236 So.
00:26:31.906 --> 00:26:36.402 If the self config dictionary shipping rates free threshold,
00:26:36.402 --> 00:26:39.646 global amount warning message is not valid.
00:26:41.166 --> 00:26:43.895 Then it will return this error. The minimum purchase
00:26:43.895 --> 00:26:46.779 requirements to get free shipping at not been met. This
00:26:46.779 --> 00:26:49.406 was also an issue that I ran into pretty recently.
00:26:50.316 --> 00:26:55.406 I think in the Nat project where I did not have this.
00:26:56.396 --> 00:27:00.565 App setting set and every time I would try to go add an item to
00:27:00.565 --> 00:27:04.408 the cart and then view the cart I would not be at the free
00:27:04.408 --> 00:27:08.251 shipping threshold which is set to $100 and I would get an
00:27:08.251 --> 00:27:12.029 invalid cart error in the storefront and could not figure
00:27:12.029 --> 00:27:16.133 out why I was getting in invalid cart because just not meeting
00:27:16.133 --> 00:27:20.041 the free shipping threshold. Shouldn't disable the cart but
00:27:20.041 --> 00:27:21.996 in this case it actually does.
00:27:24.426 --> 00:27:26.876 So that was 11 hiccup that.
00:27:27.556 --> 00:27:28.976 I thought it would be worth pointing out.
00:27:32.726 --> 00:27:36.691 Uh, and this one also had the after message. Maybe we'll see
00:27:36.691 --> 00:27:37.926 if Brian that here.
00:27:39.516 --> 00:27:42.146 Free shipping dollar amount after.
00:27:43.906 --> 00:27:47.949 This is kind of similar to the other apps setting that had the
00:27:47.949 --> 00:27:50.966 after keyword in there, where if you purchase.
00:27:51.926 --> 00:27:55.891 If you make a purchase of a specific amount, then your next
00:27:55.891 --> 00:28:00.120 purchase, the next time you log into the site and make a second
00:28:00.120 --> 00:28:03.953 purchase, that one will have or will be eligible for free
00:28:03.953 --> 00:28:08.249 shipping. If this threshold was met on the previous purchase. Is
00:28:08.249 --> 00:28:08.976 that right?
00:28:10.376 --> 00:28:13.648 Yeah. So it's it's the continuing pattern of you've met
00:28:13.648 --> 00:28:17.213 at the first time and then the after is do they have to meet
00:28:17.213 --> 00:28:20.952 again every time or do they have to be a different amount every
00:28:20.952 --> 00:28:24.575 time afterward or do they just always get free shipping after
00:28:24.575 --> 00:28:25.686 that kind of thing?
00:28:26.546 --> 00:28:27.006 OK.
00:28:29.736 --> 00:28:33.046 All right. So that was everything for free shipping.
00:28:36.776 --> 00:28:40.421 There is a piece in there that's kind of missing a little bit
00:28:40.421 --> 00:28:43.890 that you'll see it on some of these things where they they
00:28:43.890 --> 00:28:45.066 offer a buffer skew.
00:28:46.386 --> 00:28:49.977 And the idea behind a buffer skew is you're not quite at your
00:28:49.977 --> 00:28:53.569 third shipping threshold by a few of these, and you'll you'll
00:28:53.569 --> 00:28:56.929 meet your your requirement, and if you click here, we can
00:28:56.929 --> 00:29:00.521 automatically add however many of those we need to add to get
00:29:00.521 --> 00:29:02.896 you to the minimum free shipping amount.
00:29:04.676 --> 00:29:09.626 An example for this might be if you're buying through
00:29:09.626 --> 00:29:12.376 staples.com and you've bought.
00:29:12.456 --> 00:29:15.912 Uh, you've bought a printer? You've bought some toner. Then
00:29:15.912 --> 00:29:19.542 the buffer skew that it would offer might be paper, and so you
00:29:19.542 --> 00:29:23.229 might add it might automatically add multiple rooms of paper to
00:29:23.229 --> 00:29:26.686 your cart until you reach the minimum to get free shipping.
00:29:26.686 --> 00:29:30.200 Now, if you've already bought all of that stuff at once, you
00:29:30.200 --> 00:29:33.542 probably already met it, but that's the basic idea is you
00:29:33.542 --> 00:29:36.883 want to offer some kind of buffer skew that gets you more
00:29:36.883 --> 00:29:40.455 sales to reach that threshold, and then the customer gets the
00:29:40.455 --> 00:29:42.126 benefit of the free shipping.
00:29:45.046 --> 00:29:45.946 OK. Gotcha.
00:29:54.306 --> 00:29:57.406 Alright, so the next two I am.
00:29:58.446 --> 00:30:03.196 I think going to go over pretty quickly the documents required
00:30:03.196 --> 00:30:04.176 for purchase.
00:30:05.526 --> 00:30:09.406 Is kind of the same thing it's been doing where if similar to
00:30:09.406 --> 00:30:13.474 role restrictions, if they don't have the required documents set
00:30:13.474 --> 00:30:17.354 or attached to the user, then they're not allowed to purchase
00:30:17.354 --> 00:30:21.359 that product and it gets removed from the card. Same thing with
00:30:21.359 --> 00:30:25.176 process products must be process products with must purchase
00:30:25.176 --> 00:30:28.556 multiples of amount async. While that was a mouthful.
00:30:30.266 --> 00:30:30.776 Umm.
00:30:31.526 --> 00:30:36.126 This saying that products must be purchased in multiples of
00:30:36.126 --> 00:30:40.879 five or 10 or 100, however many that the administrators wanna
00:30:40.879 --> 00:30:41.186 set.
00:30:42.616 --> 00:30:45.246 Products can only be purchased in multiples of that amount.
00:30:46.576 --> 00:30:49.856 And these two, I don't. I'm not sure if there's more.
00:30:51.006 --> 00:30:55.248 Specifically, other than these two, but if I drill down into
00:30:55.248 --> 00:30:55.596 here.
00:31:00.916 --> 00:31:03.036 These have an override.
00:31:03.756 --> 00:31:08.423 Fee. Some. Yeah. Right here. Override fee that can be set
00:31:08.423 --> 00:31:08.906 where?
00:31:10.256 --> 00:31:14.697 You can pay an additional amount to avoid this car validation, so
00:31:14.697 --> 00:31:19.004 if you don't have the required documents to be able to purchase
00:31:19.004 --> 00:31:22.908 this product, you can pay an extra override fee and we'll
00:31:22.908 --> 00:31:26.945 skip this validation and let you purchase make the purchase
00:31:26.945 --> 00:31:31.185 without the requirements. And I believe the required documents
00:31:31.185 --> 00:31:35.156 check and the most purchased in multiples of amount check.
00:31:36.126 --> 00:31:40.181 Both can be overwritten with this fee and they have an app
00:31:40.026 --> 00:31:40.436 Yep.
00:31:40.181 --> 00:31:44.580 setting for each of those that can just be turned on and set to
00:31:44.580 --> 00:31:48.636 whatever value you want, and then it'll skip over this car
00:31:48.636 --> 00:31:49.736 validation when.
00:31:51.216 --> 00:31:52.086 When it reaches it.
00:31:52.956 --> 00:31:56.868 I don't know if there's any others, but I know that this one
00:31:56.868 --> 00:31:59.306 and documents both have that ability.
00:32:06.256 --> 00:32:06.476 Right.
00:32:07.476 --> 00:32:12.323 Next up is well, brands, categories, franchises,
00:32:12.323 --> 00:32:17.466 manufacturers, stores and vendors are all, I think,
00:32:17.466 --> 00:32:18.456 identical.
00:32:19.216 --> 00:32:20.916 I will look at the first then.
00:32:20.076 --> 00:32:23.882 Yeah, effectively, it's just that each one of them can
00:32:23.882 --> 00:32:28.243 specify a minimum for a product inside that individual subset,
00:32:28.243 --> 00:32:32.327 so I'll brand can say that inside this brand, this product
00:32:32.327 --> 00:32:35.926 requires a minimum or maximum amount of, et cetera.
00:32:37.146 --> 00:32:40.926 Inside this store, inside this vendor, inside this franchise,
00:32:40.926 --> 00:32:44.280 etcetera. And so it's effectively just allowing you to
00:32:44.280 --> 00:32:48.000 specify or more specifically allowing stored administrators,
00:32:48.000 --> 00:32:51.536 franchise administrators, et cetera, all the way down the
00:32:51.536 --> 00:32:55.256 line to specify minimums that are only relevant inside their
00:32:55.256 --> 00:32:56.476 section of the site.
00:32:57.296 --> 00:33:01.572 Umm and then this applies that logic to those based on which
00:33:01.572 --> 00:33:03.606 one is which ones are active.
00:33:01.786 --> 00:33:04.920 Yeah. And if you scroll up a little bit, so we see all these
00:33:04.920 --> 00:33:06.256 properties available here.
00:33:06.736 --> 00:33:10.233 Umm, the you it's allowing it to be done by dollar amount by
00:33:10.233 --> 00:33:13.558 quantity of the products and then it also for for minimum
00:33:13.558 --> 00:33:17.170 order amounts and then it also has it by dollar or by quantity
00:33:17.170 --> 00:33:20.781 for free shipping. So basically there's four different things.
00:33:20.781 --> 00:33:23.877 They're all kind of doing exactly the same thing, but
00:33:23.877 --> 00:33:27.317 they're doing it with their own sets of messages, their own
00:33:27.317 --> 00:33:30.413 offerings for buffer skews or items from a particular
00:33:30.413 --> 00:33:33.853 category, stuff like that. And then like the option for the
00:33:33.853 --> 00:33:37.407 category one would be that it would take you to that category
00:33:37.407 --> 00:33:38.726 in the catalog and say.
00:33:38.926 --> 00:33:41.106 Add stuff from here we suggest.
00:33:42.626 --> 00:33:46.846 With like a really awkward like Vanna White. Like action.
00:33:48.276 --> 00:33:51.515 To those sticks towards stuff in your car so that you can meet
00:33:51.515 --> 00:33:54.857 each other minimums and get more benefits, either the minimum of
00:33:54.857 --> 00:33:57.685 the order itself because you won't be able to purchase
00:33:57.685 --> 00:34:00.770 without meaning the minimum or the minimum to get your free
00:34:00.770 --> 00:34:02.056 shipping option on there.
00:34:03.926 --> 00:34:07.482 And all of that is driven by data that can be done at the
00:34:07.482 --> 00:34:11.223 product level, at the brand level, at the category level, at
00:34:11.223 --> 00:34:14.657 the store or vendor or manufacturer level, so that it's
00:34:14.657 --> 00:34:18.336 all as generic as possible, while also being as accurate as
00:34:18.336 --> 00:34:22.015 possible to what they in the store owners intended it to do
00:34:22.015 --> 00:34:22.506 on them.
00:34:24.746 --> 00:34:29.504 Yep, and this is pretty much the same thing just for categories
00:34:29.504 --> 00:34:33.593 at this point has the same dollar amount quantity free
00:34:33.593 --> 00:34:37.831 shipping values here. And then same logic down here. The
00:34:37.831 --> 00:34:42.366 question that I had for this section was why they only have.
00:34:43.586 --> 00:34:46.839 Methods for minimum requirements and nothing about maximum
00:34:46.839 --> 00:34:49.156 requirements. Is there a reason for that?
00:34:50.016 --> 00:34:51.026 Never asked for one.
00:34:53.416 --> 00:34:55.733 There you can see how much code it takes to do just the
00:34:55.733 --> 00:34:56.106 minimums.
00:34:56.926 --> 00:34:58.856 If nobody needs the maximums and.
00:35:00.196 --> 00:35:00.966 Why bother?
00:35:01.456 --> 00:35:03.056 Yeah, and it was a.
00:35:03.836 --> 00:35:08.566 Nightmare of divine, of divining and designing.
00:35:10.166 --> 00:35:13.535 Ways to do this that don't make the cart validation take 3 or 4
00:35:13.535 --> 00:35:13.956 seconds.
00:35:15.526 --> 00:35:18.669 So you'll see that there's it's passing a bunch of dictionaries
00:35:18.669 --> 00:35:21.860 around for from a for several of these, where it's loaded like a
00:35:21.860 --> 00:35:24.954 minimum set of product data, or information about the cart, or
00:35:24.954 --> 00:35:27.901 about the manufacturer, et cetera, and then passes that all
00:35:27.901 --> 00:35:30.847 the way through as much as it can, much like how a pipeline
00:35:30.847 --> 00:35:33.695 would so that if it's having to ask a question about that
00:35:33.695 --> 00:35:36.838 product, it's probably gonna ask about that product again later
00:35:36.838 --> 00:35:39.686 in somewhere else in the pipeline. So I don't want to hit
00:35:39.686 --> 00:35:42.682 the database asking for that product over and over again. So
00:35:42.682 --> 00:35:45.039 it'll load those into dictionaries that it will
00:35:45.039 --> 00:35:46.316 remember that information.
00:35:46.536 --> 00:35:50.572 At least for the duration of this call to go all the way
00:35:50.572 --> 00:35:54.396 through and and and pull that that that info through.
00:35:56.906 --> 00:36:00.516 OK, yeah. I could definitely see this taking a quite a long time.
00:36:02.456 --> 00:36:05.026 Especially if there was lots of restrictions, if they had a.
00:36:05.746 --> 00:36:09.118 The restrictions on vendors and stores and brands for some
00:36:09.118 --> 00:36:10.376 reason that would, uh.
00:36:11.276 --> 00:36:12.296 Be kind of a nightmare.
00:36:15.196 --> 00:36:18.322 But yeah, categories, franchises, manufacturers,
00:36:18.322 --> 00:36:22.213 stores, and vendors are all going to be pretty much the same
00:36:22.213 --> 00:36:22.596 thing.
00:36:24.536 --> 00:36:28.995 And then it checks the response message for warning and error
00:36:28.995 --> 00:36:31.656 and then if I come way back up here.
00:36:49.596 --> 00:36:55.688 Isolate response. Yep, the if the validate response does not
00:36:55.688 --> 00:36:57.386 have a succeeded.
00:36:58.866 --> 00:36:59.916 Umm. Status?
00:37:01.026 --> 00:37:02.096 Then.
00:37:03.196 --> 00:37:06.054 The card has been modified and we need to refresh the card
00:37:06.054 --> 00:37:09.009 again, just like we were in the actual card validator to get
00:37:09.009 --> 00:37:11.818 those updated values. Any of the quantities that had been
00:37:11.818 --> 00:37:12.206 changed.
00:37:13.166 --> 00:37:17.086 And stuff like that. It will reload the cart and get all the
00:37:17.086 --> 00:37:19.336 updated information that it needs.
00:37:21.166 --> 00:37:22.956 And there was.
00:37:23.786 --> 00:37:26.726 Two additional methods all the way down here at the bottom.
00:37:28.166 --> 00:37:29.016 Actually.
00:37:30.076 --> 00:37:32.970 This is the method for validating just that the card
00:37:32.970 --> 00:37:34.226 has active items in it.
00:37:35.316 --> 00:37:38.426 Uh refresh cart to validate async.
00:37:40.816 --> 00:37:42.066 Does the same thing.
00:37:42.826 --> 00:37:44.496 We workflows session.
00:37:47.926 --> 00:37:49.776 OK, yeah, this is the one that I was looking for.
00:37:50.876 --> 00:37:54.697 But your cash is async is only ever used. I think one time and
00:37:54.697 --> 00:37:58.337 it is called from an endpoint that is only available in the
00:37:58.337 --> 00:37:59.126 admin portal.
00:37:59.986 --> 00:38:04.741 Uh, so not really anything to do with storefront cart validation
00:38:04.741 --> 00:38:09.204 during checkout or anything like that. It's only used in the
00:38:09.204 --> 00:38:12.496 admin portal after updating product data or.
00:38:13.246 --> 00:38:16.857 Other stuff and as an administrator, so not super
00:38:16.857 --> 00:38:20.973 important for storefront car validation and check out or
00:38:20.973 --> 00:38:22.346 anything like that.
00:38:25.336 --> 00:38:27.586 And lastly.
00:38:29.126 --> 00:38:33.604 For the different app settings that handle all of the
00:38:33.604 --> 00:38:34.516 validation.
00:38:37.876 --> 00:38:41.511 In Seth Config Properties 123 and four, these are ordered
00:38:41.511 --> 00:38:44.206 alphabetically by these different regions.
00:38:44.936 --> 00:38:47.026 So me close that one.
00:38:48.096 --> 00:38:52.175 So depending on what app settings or what card validation
00:38:52.175 --> 00:38:56.536 you're trying to enable, you can go through properties 123 or
00:38:56.536 --> 00:39:00.685 four and just find whatever region you need. So brands and
00:39:00.685 --> 00:39:02.866 categories are gonna be in one.
00:39:05.026 --> 00:39:09.108 And the rest are just going to be in alphabetical order in
00:39:09.108 --> 00:39:10.216 either 2-3 or 4.
00:39:10.986 --> 00:39:15.476 There is a separate category for CART validation.
00:39:16.566 --> 00:39:18.366 Which I just closed our here.
00:39:19.156 --> 00:39:22.459 So card validator does have its own region and contains due
00:39:22.459 --> 00:39:23.616 product restrictions.
00:39:24.826 --> 00:39:29.316 Single store maximum car items. There seem to be a.
00:39:30.496 --> 00:39:34.474 A lot of app settings that have to do with minimum and maximum
00:39:34.474 --> 00:39:37.316 cart items and then do product restrictions.
00:39:38.386 --> 00:39:42.476 Because card validator config also has a bunch of these
00:39:42.476 --> 00:39:46.567 settings, like do brand restrictions by Max do category
00:39:46.567 --> 00:39:51.169 restrictions by Max. So I'm not entirely sure if both of these
00:39:51.169 --> 00:39:55.552 settings need to be turned on, like if I wanted to do brand
00:39:55.552 --> 00:39:59.716 restrictions if this one needs to be turned on and then.
00:40:03.536 --> 00:40:05.966 Well, of course brand doesn't have one for product
00:40:05.966 --> 00:40:06.586 restrictions.
00:40:09.496 --> 00:40:10.046 OK.
00:40:14.376 --> 00:40:18.247 OK. So I guess categories just has one for enabled and brands
00:40:18.247 --> 00:40:19.496 has one for enabled.
00:40:21.066 --> 00:40:21.756 So.
00:40:23.156 --> 00:40:25.156 Turn this setting turns on.
00:40:25.946 --> 00:40:30.063 Brands, but not the product restrictions. The actual product
00:40:30.063 --> 00:40:33.506 restrictions are part of the car validator config.
00:40:35.596 --> 00:40:39.393 Right there. So yeah, these are where the majority of the app
00:40:39.393 --> 00:40:40.986 settings are gonna be for.
00:40:42.126 --> 00:40:45.306 All of the car validation inside this car validator config.
00:40:47.516 --> 00:40:52.234 And there was one other place that I thought had appsettings
00:40:52.234 --> 00:40:52.776 was in.
00:40:54.566 --> 00:40:56.616 Property three under purchasing.
00:40:58.456 --> 00:41:01.963 So yeah, there's purchasing minmax enabled, purchasing
00:41:01.963 --> 00:41:05.599 minmax after enabled, and I'm not entirely sure what the
00:41:05.599 --> 00:41:09.617 difference between this is and then product restrictions, min,
00:41:09.617 --> 00:41:10.446 Max, enabled.
00:41:16.866 --> 00:41:18.806 Does anybody know what that difference might be?
00:41:20.696 --> 00:41:21.526 Can you say that again?
00:41:21.496 --> 00:41:22.246 Uh.
00:41:23.456 --> 00:41:27.849 Uh, yes. So in Sept config properties three, there is a
00:41:27.849 --> 00:41:33.027 purchasing min Max enabled under this purchasing reason. But then
00:41:33.027 --> 00:41:37.186 if I come over to the car validator config there is.
00:41:37.966 --> 00:41:41.566 A bunch of settings like do product restriction by min, Max.
00:41:42.546 --> 00:41:45.506 I I think it's a.
00:41:46.676 --> 00:41:50.031 I think it it's meant to be the same thing, but because of the
00:41:50.031 --> 00:41:53.386 complexity of where everything happened, it just ended up in 2
00:41:53.386 --> 00:41:53.706 spots.
00:41:54.616 --> 00:41:57.405 It was just like accidentally duplicated. Somebody didn't know
00:41:54.806 --> 00:41:55.896 So ideally.
00:41:57.226 --> 00:42:00.544 Yeah. And but like the the the ones that are down in the config
00:41:57.405 --> 00:41:58.246 it already existed.
00:42:00.544 --> 00:42:03.396 properties, three can are populating the SEF config so
00:42:03.396 --> 00:42:06.507 they can transfer that over the wire, the cart validator to
00:42:06.507 --> 00:42:09.721 config I believe is inside the cart validator project so it's
00:42:09.721 --> 00:42:10.966 unable to transfer that.
00:42:09.806 --> 00:42:10.436 It is, yeah.
00:42:12.946 --> 00:42:16.037 So ideally the ones that are inside the cart failure to
00:42:16.037 --> 00:42:19.459 config would would read from this and instead of having their
00:42:19.459 --> 00:42:22.549 own physical values separated and I can't remember ever
00:42:22.549 --> 00:42:25.861 actually managed to make that conversion, but at some point
00:42:25.861 --> 00:42:29.449 that would get refactored out to make sure that there's only one
00:42:29.449 --> 00:42:31.436 spot that it would actually matter.
00:42:33.036 --> 00:42:34.206 But yeah.
00:42:33.356 --> 00:42:37.326 Should 1 James, could one of these be based off of the dollar
00:42:37.326 --> 00:42:41.233 amount being ordered and the other one being the quantity of
00:42:41.233 --> 00:42:42.706 the item being ordered?
00:42:45.106 --> 00:42:45.786 Could be.
00:42:46.066 --> 00:42:48.225 Because that's, I mean that's. I just. That's what it looked like
00:42:48.225 --> 00:42:49.436 to me. What? He asked that question.
00:42:49.196 --> 00:42:51.176 I'd have to follow it all the way through to be sure.
00:42:50.936 --> 00:42:53.717 Yeah, that's I. I would have to as well. But that's that's kind
00:42:53.717 --> 00:42:55.456 of what I was thinking when I saw that.
00:42:56.696 --> 00:42:58.456 Yeah, it's a good point. I didn't even think of that.
00:43:04.126 --> 00:43:07.325 All right. And that is pretty much everything that I found for
00:43:07.325 --> 00:43:09.356 car validation that I thought would be.
00:43:10.206 --> 00:43:11.266 Useful information.
00:43:14.866 --> 00:43:17.506 Is there any other topics or areas you guys want to look at?
00:43:28.876 --> 00:43:29.986 I think that covers it.
00:43:30.546 --> 00:43:31.576 Sounds like a no.
00:43:31.246 --> 00:43:34.220 I at at that point I at this point I would say if you wanna
00:43:34.220 --> 00:43:34.766 just start.
00:43:35.946 --> 00:43:38.723 Picking people and asking them stuff. And if you're not
00:43:38.723 --> 00:43:40.906 comfortable doing that, that's fine, I can.
00:43:41.936 --> 00:43:44.066 Uh, I can pick people and ask them stuff.
00:43:44.766 --> 00:43:47.376 Yeah, I do not have any questions prepared to.
00:43:48.406 --> 00:43:51.662 No worries, I I don't either. I'm just gonna make them up as
00:43:48.446 --> 00:43:49.776 Did not think to do that.
00:43:51.662 --> 00:43:52.356 like as I go.
00:43:52.736 --> 00:43:55.048 That. Wait a minute. Nobody said in the beginning. We're gonna
00:43:55.048 --> 00:43:55.966 ask questions about this.
00:43:55.776 --> 00:43:58.626 Yeah, well, pop quiz.
00:43:58.646 --> 00:44:00.336 There's a there's a quiz.
00:44:00.776 --> 00:44:03.556 Yeah. No, I was just gonna make sure that uh.
00:44:04.346 --> 00:44:07.244 That everyone was paying attention. And so we're all
00:44:07.244 --> 00:44:10.526 getting stuff, you know, getting something out of these so.
00:44:12.876 --> 00:44:17.572 The the only thing I could think off the top of my head right now
00:44:17.572 --> 00:44:17.786 is.
00:44:17.866 --> 00:44:18.416 The.
00:44:20.066 --> 00:44:22.536 Let's see. Who who do I? Who suffers?
00:44:24.136 --> 00:44:25.146 Uh.
00:44:28.616 --> 00:44:31.607 Can someone how about this? We'll do a nose goes, but with
00:44:31.607 --> 00:44:32.976 raising your hand in teams.
00:44:35.686 --> 00:44:37.676 Meaning the last person to raise their hand.
00:44:38.516 --> 00:44:39.806 Asked to answer question.
00:44:44.506 --> 00:44:47.336 I guess you could all just stalemate me and not raise your
00:44:47.336 --> 00:44:47.576 hand.
00:44:49.586 --> 00:44:51.216 OK, it's Tim alright.
00:44:51.956 --> 00:44:58.166 Uh, so Tim, where is the logic for?
00:44:58.976 --> 00:45:04.256 Minimum and maximum quantity for for stock handled.
00:45:05.136 --> 00:45:08.401 Or I guess for just maximum quantity for stock. So where is
00:45:08.401 --> 00:45:11.557 the logic that says you have more items in your cart than
00:45:11.557 --> 00:45:13.136 there are this item in stock?
00:45:16.126 --> 00:45:18.316 To might not be here, which would be hilarious.
00:45:19.606 --> 00:45:22.320 And I wasn't paying enough attention to know who, who was
00:45:22.320 --> 00:45:24.566 the 2nd to last version that raised their hand.
00:45:28.026 --> 00:45:29.196 ****, I was looking.
00:45:30.746 --> 00:45:33.996 Well, no, it has has numbers. Does your does your? Yeah.
00:45:32.546 --> 00:45:35.805 Ohh, you're right, you're right. So it was. It was Brent, it was
00:45:33.666 --> 00:45:34.036 Yeah.
00:45:35.805 --> 00:45:36.106 Brent.
00:45:36.756 --> 00:45:40.171 Now, wait a minute. Last time James raised his hand. So I
00:45:40.171 --> 00:45:40.466 mean.
00:45:40.976 --> 00:45:43.760 Well, I'm not going to ask James a question. He already knows the
00:45:43.760 --> 00:45:44.056 answer.
00:45:47.146 --> 00:45:48.956 I mean, I guess you guys ideally would.
00:45:47.496 --> 00:45:49.156 Yeah. Nice try, Fife.
00:45:49.476 --> 00:45:50.606 Yeah.
00:45:51.386 --> 00:45:53.036 Why did you stand by?
00:45:52.496 --> 00:45:54.626 Like ask the teacher like no.
00:45:56.366 --> 00:45:57.056 Umm.
00:45:58.376 --> 00:46:03.050 Uh, so, yeah. Anyway, same question to you. Where is the
00:46:03.050 --> 00:46:08.299 the logic that reduces your cart item quantity to the actual in
00:46:08.299 --> 00:46:10.596 stock quantity of a product?
00:46:16.586 --> 00:46:17.226 Was one of the.
00:46:18.236 --> 00:46:20.656 Second or third things we covered, I think.
00:46:18.466 --> 00:46:19.376 One second.
00:46:23.146 --> 00:46:23.636 It's.
00:46:26.106 --> 00:46:27.396 Don't remember I've found my head.
00:46:40.086 --> 00:46:42.416 All right, well.
00:46:43.196 --> 00:46:46.818 How would you? How would you go about finding it? Walk, walk
00:46:46.818 --> 00:46:50.202 Nick through on his screen. Share the process of finding
00:46:50.202 --> 00:46:54.121 where that might happen. Knowing knowing what we learned and what
00:46:54.121 --> 00:46:55.606 Nick just talked through.
00:46:56.366 --> 00:46:56.976 Uh.
00:46:57.666 --> 00:47:00.828 Walk him through and then and and Nick. Treat it like a peanut
00:47:00.828 --> 00:47:02.836 butter and Jelly sandwich thing. Where?
00:47:05.126 --> 00:47:08.976 He only only follow the the steps that he precisely says.
00:47:09.206 --> 00:47:09.896 OK.
00:47:10.326 --> 00:47:10.776 Gotcha.
00:47:11.686 --> 00:47:15.173 First, I would go to the card validator dot CS and then you
00:47:15.173 --> 00:47:18.660 said the minimum quantity or maximum quantity. The quantity
00:47:18.066 --> 00:47:20.886 Her stock? Yeah. So like inventory related, yeah.
00:47:18.660 --> 00:47:19.706 is right for suck.
00:47:21.716 --> 00:47:26.006 OK, first do I do a search? Just a local search for stock.
00:47:30.026 --> 00:47:32.216 Yeah, it quantity and quality.
00:47:33.306 --> 00:47:33.656 Yeah.
00:47:36.096 --> 00:47:37.166 I'm sorry, I didn't hear you, Brent.
00:47:36.366 --> 00:47:38.216 So start quantity.
00:47:37.516 --> 00:47:39.686 Now you said add quantity to your search.
00:47:38.986 --> 00:47:39.766 Yeah, probably.
00:47:43.606 --> 00:47:51.336 Yeah. So then I would do the control shift F do US search all
00:47:51.336 --> 00:47:53.456 for stock in the.
00:47:55.206 --> 00:47:59.176 Always looking in the open file, not the entire solution.
00:48:03.966 --> 00:48:04.416 But.
00:48:04.976 --> 00:48:07.486 Yeah, current document would be the the one, yeah.
00:48:06.096 --> 00:48:07.276 During document, yeah.
00:48:10.176 --> 00:48:11.246 And then it finds all.
00:48:14.646 --> 00:48:18.787 That's not cached. Alright, so it's not in there and then I
00:48:18.787 --> 00:48:22.721 would change the search to include everything within the
00:48:22.721 --> 00:48:23.826 current project.
00:48:33.006 --> 00:48:37.276 That's interesting. It found the word stock in one file.
00:48:34.736 --> 00:48:35.366 Is.
00:48:34.846 --> 00:48:37.899 That's only looking in this. It's only looking in the CS
00:48:37.899 --> 00:48:38.596 project file.
00:48:38.686 --> 00:48:41.269 Well, it's looking in the project of that CS project. But
00:48:40.966 --> 00:48:41.116 Yeah.
00:48:41.269 --> 00:48:44.164 it's funny that it it founded in the current file and you search
00:48:42.016 --> 00:48:42.306 Yeah.
00:48:44.164 --> 00:48:46.881 a project level and it's like not know you're talking about.
00:48:46.881 --> 00:48:48.396 Never heard that word in my life.
00:48:48.946 --> 00:48:49.536 Alright.
00:48:49.086 --> 00:48:50.416 OK, will shift again.
00:48:55.516 --> 00:48:56.166 Checks.
00:48:55.746 --> 00:48:56.986 No match case.
00:48:56.016 --> 00:48:58.146 On file types do startup star.
00:49:01.286 --> 00:49:02.286 Ohh yeah, maybe that'll do it.
00:49:05.126 --> 00:49:08.299 It's been weird lately that if it's blank, it thinks there it
00:49:08.299 --> 00:49:10.756 can only look at a certain type and it's weird.
00:49:10.686 --> 00:49:12.856 But in the world it's going.
00:49:12.376 --> 00:49:13.816 All the same thing.
00:49:13.106 --> 00:49:13.766 You're weird.
00:49:16.176 --> 00:49:19.506 This is a certified Visual Studio moment.
00:49:16.586 --> 00:49:18.116 You don't have matched case on.
00:49:18.776 --> 00:49:19.796 You just break it.
00:49:20.636 --> 00:49:25.542 Yet they're search all solution in Visual Studio works like
00:49:25.542 --> 00:49:28.486 7080% of the time, at least for me.
00:49:29.056 --> 00:49:32.226 I've never had really any issue with it. That's surprising.
00:49:29.486 --> 00:49:29.926 Yeah.
00:49:34.186 --> 00:49:38.229 It's about the same for me. It's it's like a three out of out of
00:49:38.229 --> 00:49:38.976 four chance.
00:49:38.676 --> 00:49:41.749 Yeah. You think you might not be having any issues, but then when
00:49:41.749 --> 00:49:44.636 no results get returned, you don't know if there are actually
00:49:44.636 --> 00:49:47.476 no results or it's just not finding the results that are out
00:49:47.476 --> 00:49:47.756 there?
00:49:51.696 --> 00:49:52.096 OK.
00:49:51.766 --> 00:49:53.036 Yeah, I'm not sure why it's doing it.
00:49:55.336 --> 00:49:59.503 But I looked at mine and I'm not getting 2 bits and they're both
00:49:59.503 --> 00:50:01.426 of that flat stock cash which.
00:50:05.136 --> 00:50:06.086 So what was that, Brent?
00:50:06.546 --> 00:50:11.322 Uh, I looked on my bed, my code. If it's like control F, it's
00:50:11.322 --> 00:50:15.636 same search type. It all got up to to additional parts.
00:50:17.296 --> 00:50:19.386 Both for the flat stock cash.
00:50:20.896 --> 00:50:21.536 Uh, yeah.
00:50:26.006 --> 00:50:28.866 It's a process product with minimum async.
00:50:32.086 --> 00:50:32.476 That's it.
00:50:33.276 --> 00:50:34.486 Think about giving too.
00:50:36.776 --> 00:50:39.266 Said process products with minimums async.
00:50:39.826 --> 00:50:40.596 That's right.
00:50:41.756 --> 00:50:42.056 All right.
00:50:43.926 --> 00:50:47.056 Some uh part validated that problems. That's CS.
00:50:49.626 --> 00:50:53.842 After I went inside, we are now carp validator dot products dot
00:50:53.842 --> 00:50:54.106 CSS.
00:51:12.806 --> 00:51:14.146 That looking through this.
00:51:14.226 --> 00:51:15.606 You don't see anything.
00:51:19.196 --> 00:51:20.186 Simple for me.
00:51:23.006 --> 00:51:24.656 Without warning.
00:51:33.066 --> 00:51:34.176 I was going to the check.
00:51:35.176 --> 00:51:37.526 I'm lying at 77.
00:51:38.356 --> 00:51:38.906 2nd.
00:51:39.786 --> 00:51:41.676 Sorry, can you Scroll down a little bit?
00:51:43.946 --> 00:51:44.576 There we go.
00:51:45.526 --> 00:51:48.076 7.9 we go into?
00:51:49.116 --> 00:51:49.626 That.
00:51:50.266 --> 00:51:52.956 Did not control shift, that's 12.
00:51:59.366 --> 00:52:00.276 Keep scrolling down.
00:52:03.976 --> 00:52:05.226 That's the bottom of the method.
00:52:05.756 --> 00:52:06.046 And.
00:52:10.626 --> 00:52:10.896 OK.
00:52:20.356 --> 00:52:21.666 OK. Can we go back?
00:52:25.126 --> 00:52:26.066 You're almost there.
00:52:26.576 --> 00:52:29.486 Almost. OK. Then go into that one. I go into that.
00:52:30.556 --> 00:52:30.766 Yeah.
00:52:31.966 --> 00:52:33.456 Yep, this is it right here.
00:52:33.506 --> 00:52:34.446 OK. Yeah.
00:52:35.476 --> 00:52:35.986 So there.
00:52:36.276 --> 00:52:40.304 Yeah, this is where the original quantities get set. The current
00:52:40.304 --> 00:52:43.960 quantities, and then all of the rules, and then all of the
00:52:43.960 --> 00:52:47.307 calculation logic is all throughout this method right
00:52:47.307 --> 00:52:50.406 here. And this is in the CART item CRUD workflow.
00:52:52.446 --> 00:52:52.786 Yeah.
00:52:55.286 --> 00:52:56.686 Yay.
00:52:57.246 --> 00:52:57.766 Be more.
00:53:00.006 --> 00:53:04.056 Good job, friends. I was gonna ask more questions.
00:53:04.536 --> 00:53:08.105 Umm, but I gotta run away for like 5 minutes. So it's if
00:53:08.105 --> 00:53:10.736 anybody else wants to grill anybody else.
00:53:12.526 --> 00:53:13.336 Feel free.
00:53:16.236 --> 00:53:17.696 Otherwise, I'll be right back.
00:53:28.916 --> 00:53:31.156 Right. Does anybody else have any other questions?
00:53:39.476 --> 00:53:41.906 I could ask a really fluffy question.
00:53:42.636 --> 00:53:44.106 That's more opinionated than I think.
00:53:43.056 --> 00:53:43.446 Umm.
00:53:44.636 --> 00:53:45.506 Let's hear it.
00:53:46.506 --> 00:53:50.017 Looking into this deep for the first time, I was the most
00:53:50.017 --> 00:53:51.046 surprising slash.
00:53:52.446 --> 00:53:55.788 I I mean I or, I guess, yeah. Surprising or confusing thing
00:53:55.788 --> 00:53:58.796 you came across. I know you asked a question earlier.
00:54:00.656 --> 00:54:02.316 To James and Brendan, but.
00:54:03.466 --> 00:54:07.694 No, that is a good question. And I actually have an answer for
00:54:07.694 --> 00:54:07.896 it.
00:54:09.836 --> 00:54:12.198 Figure that's always something good to know. Is like, what's
00:54:12.198 --> 00:54:13.786 the thing that's gonna throw people off?
00:54:14.536 --> 00:54:17.786 Or like it's easy get stuck on her confused about.
00:54:18.556 --> 00:54:23.106 Yeah, I actually was very surprised when I saw this.
00:54:23.906 --> 00:54:27.558 Is that certain products that have restrictions or need
00:54:27.558 --> 00:54:31.667 required documents to be able to purchase can be overridden if
00:54:31.426 --> 00:54:31.836 Umm.
00:54:31.667 --> 00:54:35.645 this override fee is set. I was just surprised that this was
00:54:35.645 --> 00:54:37.276 even a thing because the.
00:54:38.086 --> 00:54:42.337 Only example that I can kind of think of is the Nat project
00:54:42.337 --> 00:54:43.046 which has.
00:54:42.936 --> 00:54:43.266 Hmm.
00:54:52.756 --> 00:54:53.246 Mm-hmm.
00:55:13.556 --> 00:55:13.996 Mm-hmm.
00:55:14.056 --> 00:55:17.777 A $10 override fee and they won't look into my background at
00:55:17.777 --> 00:55:21.681 all. It's kind of how I looked at this override fee. I mean, it
00:55:19.536 --> 00:55:20.296 Ah.
00:55:21.681 --> 00:55:25.524 could be used for things other than for medical purchases, but
00:55:25.524 --> 00:55:25.646 a?
00:55:25.776 --> 00:55:28.726 So is that what that's actually meant for is like hey?
00:55:29.366 --> 00:55:32.700 If you just give us 10 bucks, we're just not gonna ask. Is
00:55:32.700 --> 00:55:34.396 that actually what that's for?
00:55:34.776 --> 00:55:38.976 Yeah, the override fee will skip the validation if you pay a
00:55:38.976 --> 00:55:41.456 little bit extra to not look at it.
00:55:42.816 --> 00:55:45.470 Weird. Where did that get? I mean, maybe James would not
00:55:45.470 --> 00:55:47.706 answer this. Where did that get pulled in from?
00:55:48.606 --> 00:55:55.676 You MC no, that's not the right one. It's the 1C came from.
00:55:51.826 --> 00:55:52.856 Umm MC.
00:56:01.086 --> 00:56:02.846 ****. What? What were they called?
00:56:03.836 --> 00:56:05.206 I'm assuming it was a hippo thing.
00:56:06.376 --> 00:56:06.946 No.
00:56:07.346 --> 00:56:07.806 No.
00:56:07.606 --> 00:56:08.946 Charlie didn't come from HIPPA thing.
00:56:09.356 --> 00:56:10.206 God, I hope you're.
00:56:09.706 --> 00:56:12.166 OK, never mind. Ohh.
00:56:12.546 --> 00:56:16.316 I yeah, our our PM Charlie, the one he came from.
00:56:17.106 --> 00:56:17.586 Mm-hmm.
00:56:18.726 --> 00:56:20.456 I thought the no.
00:56:20.326 --> 00:56:22.016 Whatever the hell that one was called.
00:56:24.916 --> 00:56:27.978 It was them, all of all the really advanced, crazy ****
00:56:27.978 --> 00:56:29.236 here. It's all of them.
00:56:30.226 --> 00:56:33.761 It because they had crazy levels of hard, soft stops. They wanted
00:56:33.761 --> 00:56:37.135 to apply, and so it's it's the hard stops are like you have to
00:56:34.406 --> 00:56:34.966 Ah ha.
00:56:37.135 --> 00:56:40.349 stop. You can't do anything else. And then the soft stop is
00:56:40.349 --> 00:56:42.706 well, you can override this if you do this.
00:56:43.356 --> 00:56:43.906 Umm.
00:56:46.736 --> 00:56:49.895 And some of those extra fees went to it was it was meant to
00:56:49.895 --> 00:56:51.106 be like a handling fee.
00:56:51.656 --> 00:56:52.096 Hmm.
00:56:52.386 --> 00:56:55.163 What they were doing so you'd override the documentation and
00:56:55.163 --> 00:56:57.804 stuff, but then that meant that they had to deal with the
00:56:57.804 --> 00:56:58.396 handling fee.
00:56:59.446 --> 00:57:03.822 With like truckers and stuff. So that would basically, I don't
00:57:03.822 --> 00:57:08.268 like grease the problems is the wrong way to say it, cause it's
00:57:08.268 --> 00:57:12.853 nothing about it was illegal. It was just a way to like cover the
00:57:12.853 --> 00:57:17.368 cost of the seller now having to do these extra steps to get you
00:57:17.368 --> 00:57:21.883 into where you're supposed to be versus already having the right
00:57:21.883 --> 00:57:22.856 documentation.
00:57:23.676 --> 00:57:27.867 Yeah. So basically instead of you doing the work of uploading
00:57:27.867 --> 00:57:31.856 everything they need during checkout or wherever, I guess.
00:57:34.136 --> 00:57:38.406 They you can pay to have them, I guess. Get all that data for
00:57:38.406 --> 00:57:41.506 you, whether that's through your profile or.
00:57:39.926 --> 00:57:43.351 Yeah, to to, to acquire, to acquire the right info, help you
00:57:43.351 --> 00:57:47.001 fill in the the right forms and stuff automatically identically,
00:57:45.286 --> 00:57:45.636 Umm.
00:57:47.001 --> 00:57:50.034 but like having them like working with you to do that
00:57:47.986 --> 00:57:48.356 Yeah.
00:57:50.034 --> 00:57:53.628 stuff as opposed to just being someone who already has all that
00:57:53.628 --> 00:57:56.436 stuff ready so they don't have to worry about it.
00:57:57.116 --> 00:57:59.666 Yeah. Hmm. Interesting. It's all.
00:57:59.206 --> 00:57:59.806 OK. Yeah.
00:58:00.586 --> 00:58:02.316 It's a very specific.
00:58:00.706 --> 00:58:01.246 Good nick.
00:58:02.616 --> 00:58:05.869 Nick, you, you said that my mind went to the to the complete
00:58:03.016 --> 00:58:05.680 Yeah, it it. You could also. I mean, you could very easily see
00:58:05.680 --> 00:58:08.218 how it could be abused to turn into like at this just looks
00:58:05.869 --> 00:58:06.616 opposite last.
00:58:08.218 --> 00:58:09.106 like I'm bribing you.
00:58:09.546 --> 00:58:11.876 No, I know that's why I went did look.
00:58:12.656 --> 00:58:15.603 You can purchase Class 1 narcotics with a gift card if
00:58:15.603 --> 00:58:16.836 you pay us this amount.
00:58:15.746 --> 00:58:18.466 I was like, hey, GFS chemicals, I have an idea.
00:58:19.626 --> 00:58:23.539 You guys let people pay money to be able to buy alchemicals
00:58:21.776 --> 00:58:23.466 You gotta look at this. Look at this kid.
00:58:23.539 --> 00:58:27.648 without any documentation. It would sell like hot cakes. Yeah,
00:58:27.276 --> 00:58:28.276 Deficiencies.
00:58:27.648 --> 00:58:31.952 and you'd make more money. Yeah. I wasn't sure what that was, but
00:58:31.952 --> 00:58:36.256 yeah, now that that makes sense. Basically, a hand holding fee is
00:58:36.256 --> 00:58:38.996 what you're really doing is hold my hand.
00:58:38.376 --> 00:58:39.256 It's a good name for it.
00:58:39.466 --> 00:58:39.856 Yeah.
00:58:40.206 --> 00:58:44.676 Yeah, OK. It's not. It's not a hey, buy this uranium fee.
00:58:43.086 --> 00:58:46.155 Key source he came from Keysource. I thought. He can't.
00:58:46.155 --> 00:58:47.306 No, that's not right.
00:58:49.546 --> 00:58:51.956 That what his LinkedIn says. I was the last, the.
00:58:52.616 --> 00:58:53.026 So.
00:58:52.786 --> 00:58:54.596 That's what he know. Who? The?
00:58:52.856 --> 00:58:56.386 I think that's correct, though I thought I remember hearing
00:58:56.386 --> 00:58:57.916 something about that, but.
00:58:59.566 --> 00:59:03.831 Well, no. And it's not you MC because that's that's an older
00:59:03.831 --> 00:59:08.166 client. But then how was it that I was working on with Ben in
00:59:08.166 --> 00:59:08.516 2018?
00:59:10.906 --> 00:59:12.316 It might have been key source.
00:59:12.176 --> 00:59:13.836 It may have actually been key source.
00:59:14.846 --> 00:59:17.816 Yeah, because I and the only reason I, I, that even rings a
00:59:17.816 --> 00:59:20.836 bell is because I was doing a liquid web migrations and that
00:59:20.836 --> 00:59:22.816 site. I'm pretty sure it was from 2018.
00:59:23.956 --> 00:59:24.456 Umm.
00:59:26.576 --> 00:59:28.066 Last time the files were touched.
00:59:30.256 --> 00:59:32.426 They've also since, like, ripped us out so.
00:59:33.496 --> 00:59:33.806 Yeah.
00:59:34.546 --> 00:59:34.876 Well.
00:59:37.596 --> 00:59:37.856 Well.
00:59:42.556 --> 00:59:43.806 Sure, I can't remember man.
00:59:50.676 --> 00:59:52.026 Anybody else got any questions?
01:00:01.436 --> 01:00:02.506 I take that as a no.
01:00:03.116 --> 01:00:05.549 I can't. I can't think of anything else creative to ask.
01:00:05.549 --> 01:00:07.726 That was my one creative question for the day and.
01:00:10.536 --> 01:00:12.006 I go back to being a computer.
01:00:15.566 --> 01:00:17.616 Alright, I'm gonna stop the recording then.